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

Saturday, March 12, 2005

Bugs ...

The list of open bugs is growing, so I'm delaying new features until those have been fixed ... don't want to introduce even more new code when old code isn't fully stable yet ... namely, we have one rather annoying bug in scheduler, where outgoing data buffer is being used after deletion ... and still one bug left in ED2K::Client, during file completition, where it seems some already-deleted client is being passed EVT_DESTROY event.

There has also been talk (already cpl days ago) about upgrading Object API somewhat. Namely, it's current public interface is too intrusive - public methods a'la getName(), setName(), which are used also by derived classes; public typedef Iter, which may also be defined in derived classes, etc. Also, the Object::Operation / Object::Operation::Argument handling currently is rather cumbersome, so that could probably be cleaned up too.

On ED2K side, the new features that are pending is still global server searches, which I'v been unable to get working. Technically, I seem to be doing all just fine - sending right packets, listening on TCP + 3 UDP port, but nobody seems to respond to my queries ...

There's been some updates on hnanalyze script (by chemical), which is now capable of displaying source counts correctly also. The statistics data is currently being dumped manually into ~/.hydranode/statistics.log, in machine-parseable format, however, sooner or later we need a decent Statistics subsystem (probably when starting GUI stuff).

One important bug that got squashed today was double-metadata creation/storage problem. Namely, we'r storing full MetaData recordset also in PartData reference file, and load it always. This is intended as a safeguard, when metadb.dat gets corrupted, we would still be able to continue our downloads. However, we were also submitting the metadata loaded from PartData every time to MetaDb, which led to MetaDb growth of +X every startup, where X is the number of current downloads. This shouldn't happen anymore... you'll probably want to reset your metadb.dat now, it might be up to thousands of entries by now (downloads won't be affected by metadb.dat reset, for the afore-mentioned reasons).

So, if we can fix the scheduler bug and completititon-crash, and Client <-> Server UDP stuff, then we can move on to SecIdent + Credits, which would complete the initial implementation of ED2K module (the missing ED2K protocol features are less-important, and can be implemented later).

Madcat, ZzZz

possibly you ran out of server credits so search was ignored?
No, that's definately not the issue here, since we'r dealing with global UDP queries, and it doesn't make sense that I ran out of credits on ALL servers, before I even started ...

Have you tried comapring byte-for-byte a packet capture of emule using the global search with a packet capture of hn-ed2k?
Post a Comment

<< Home

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