Before we start looking at the code, some auxiliary informations.
First of all the Direct Connect protocol. You can find a document describing
it at:
http://www.1stleg.com/1stleg/Download/Documents/DCProtocol/Introduction.html
To be sincere, the current protocol is somewhat confused. A problem, for
example, is the fact that field separator isn't always the same (sometimes is
'$', sometimes '$ $' or even '\5').
Having noted the limitations of current specs, the community of DC software
writers has started discussing new ones. We're still far from a complete
replacement, still things are getting interesting ;-)
And now back to pyDC. Here I've collected a list of all the things that I'd
like to implement / fix before the release of version 0.7:
* DNS: the code can parse an arbitrary large number of DNS servers
(from /etc/resolve.conf or from registry), still resolution only makes use of
the first one. When pyDC fails resolving an address using server n in the
list, it should switch to server n+1;
* searches (a): users should be able to specify size limits (max and min
size);
* searches (b): when pyDC receives a search request from a remote client, it
scans its local list for matches. The current algo is somewhat slow; since
80% of search requests have a size limit, a way to improve performances is to
index local files by their size;
* viewers: when switching from one hub viewer to the other, the replaced one
is destroyed. If the user switches back, the viewer has to be rebuilt from
scratch. This tends to be slow (expecially when the hub log contains 1000+
rows): a better approach would be that of avoiding destructions (using
hide()/show() pairs instead);
* Makefiles: the he3 codec, as you know, it's written with C++ and requires
compilation: this can be done on *NIX systems using a Makefile. I went
through extreme pain when trying do to the same for Windows, using VC++ nmake
(it's flexible as a block of stone and, even worse, documentation is
inexistent). I suspect Python' distutils module can be of help, still I don't
know it well...
That's all. Mike, do you think you can help me resolving any of this?
Bye
--
Anakim Border
ab...@us...
http://pydc.sf.net
|