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, March 17, 2005

The usual fix-set

While I haven't yet gotten confirmation that the completition-crash bug was actually fixed, we did discover that my last night's fix in EventTable pending events queue handling had larger impact than originally intended. Namely, it was using vector; handleEvents() was iterating on it using iterators, and postEvent() was push_back()'ing. However, as it turns out, ALL iterators to vectors (may be) invalidated upon call to push_back(). So, now that it's using deque, and safer iteration (using size() + pop_front()), it's way better.

Today I wasn't really even sure what to do next, so I just did some bughunting and general fixes. The list:
After this, I had also figured out where to go next - namely we need GlobGetServStat and GlobGetServDesc, because these will allow us to determine whether or not servers are alive, and thus start deleting servers from our list. The problem is, currently, if you have used hydranode for a while, you have a ton of dead servers in your list, and GlobGetSources effectivness drops to like 5% response, while it could be much higher - another hydranode with slightly newer serverlist already has 25% respones, so I figure, with proper server-clearing, we can get it up to 50-60% effectivness. Naturally, all of this will be mostly nullified as soon as we bring in kademlia, but it doesn't matter - searching for sources should be effective whether or not we have some new fancy network backend or not.

Madcat, ZzZz

Considering most servers suggested by clients are fakes using the p2p filter and blocking servers using private reanges and priviliged ports 1-1024 (-1028 if possible) might help reduce not responsive client

emule and mldonkey use static server lists from websites
Emule also receives servers from the servers it connects to:
18/03/2005 10:56:13 p.m.: Connected to Razorback 2 (, sending login request
18/03/2005 10:56:14 p.m.: Connection established on: Razorback 2
18/03/2005 10:56:14 p.m.: New clientid is 1738******
18/03/2005 10:56:14 p.m.: Received 14 new servers
Yes, hydranode also receives servers from servers.
Post a Comment

<< Home

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