[pyDC-devel] Overview
Status: Beta
Brought to you by:
aborder
From: Anakim B. <ab...@us...> - 2003-12-04 08:21:11
|
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 |