- [ed2k] We now cut connection with the remote client as soon as possible (e.g. when we have received QR and also sent QR, in whichever order). This speeds up initial source queries when dealing with many sources, and helps to keep connection counts low later during runtime.
- [ed2k] Added documentaiton about SecIdent and rotational chunk request things
- [ed2k] Client class extensions provide count() member, which can be used for statistics; SourceCount is now 100% accurate.
- [ed2k] Fixed bug #48 (crash on dead servers removal)
- [ed2k] Conditional cleanup in remOffered (fixes crashes-on-completition)
- [core] SSocket is now noncopyable (*doh*, how did that slip through?)
- [hnsh] Search command is now abbrevated at "sea", download command at "down", to stop intruding with object-specific commands.
After this, my net connection went down, so I couldn't work on ed2k anymore... but then I recalled someone mentioned ftp on irc last night, so I rolled up my sleeves and headed down to modules/ftp subdir. 5 hours and several cups of coffee later, I checked in ~500-line ftp module base to our svn repository. It can connect/auth properly, and I downloaded few test files using hardcoded commands, but there are some problems left open regarding connection managements / passive transfer / dirlist handling (the latter one is really crap to parse), so it needs a bit more work. For the curious -
FTP module documentation, or -
ftp.cpp /
ftp.h source.
Speaking of documentation - I regenerated all on-site code documentation. Not much updates on the
engine side, but
ed2k protocol documentation has several added parts, and
ed2k module in general has a ton of new stuff since last online docs update. Enjoy :)
Regarding the daily svn snapshots - I don't think they will be available, at least not at this time. The reason is I prefer updating on-site direct links when I feel the code is reasonably stable, but daily snapshots can often lead to very broken, even harmful code becoming generally available, which is not a good idea. To that end, since ed2k module is pretty stable, and heading to feature freeze today/tomorrow, I updated the onsite code tarball (last update was exactly 1 month ago apparently). Get it
here.
Madcat.
PS: There's been some rather interesting discussion regarding HNShell's internal re-structuring. For the interested, the discussion can be found
here.