Alo Sarv
lead developer

Donate via

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary

Thursday, November 03, 2005


It would have been naïve to think that this large amount of optimizations wouldn't have some consequences. Let's face it - the entire last patchset were technically optimizations, even through they involved bugfixing - or for that matter, isn't optimization merely a type of bugfixing, where you fix performance issues?

Anyway, I'm getting off-topic. The last optimization set did have consequences, some more, some less pleasant. First of all, we seem to be opening too many upload slots now, then I get reports of really wierd server-connecting behaviour; then I get some utterly odd crash somewhere deep inside scheduler (triggered by our new forced TCP reask code, which is used when our ID changes); and on top of it all, a quick valgrind run showed rather large amount of memory leaked, apparently from ed2k client sockets not being deleted. And now I have hnsh freezing on windows on random occasions for no apparent reason. Duh.

I did some quick tweaking around BT tho, to get my mind off the ed2k issues for a while; port is now configurable, and it's capable of starting downloads directly from HTTP links (requires HTTP module to be loaded to work). Both settings are in config.ini, names TCPPort (integer) and AutoStartTorrents (boolean). A small optimization was done as well, related to the HAVE message spam we are inevitably receiving from peers - previously it unconditionally caused us to generate a test-chunk-request, to see if we'r interested in the client, but creating a chunk request is an expensive operation. Now, the test-request is only generated if the published file range is actually incomplete on our side.

Madcat, ZzZz

Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?