Been a fairly interesting 18-hour dev-session, with updates in various areas. So, without further delay, he's the listing:
- It's now possible to enable/disable trace masks during runtime or as command-line argument.
- We'r now using single random number generator (Utils::getRandom) at all places, to achieve best randomness (patch by theos)
- It's no longer possible to resize MetaData object (since it would break a ton of things if one did that)
- Searching with minsize and maxsize implemented both at ed2k protocol level, as well as internal filter (for networks which don't support such options).
- Added 'vr' (view results) command to shell, which optionally allows sorting keys (name, size, srccount, and reverse orderings of them), for displaying search results. By default, search results are displayed with 'rsrc' ordering, which means the most widely available files are displayed at the bottom of the listing (no more 5-pages scrolling after every search). Default sort ordering can be customized from config, SearchSortOrder value.
- Importing of eMule temp files implemented; currently, all files will need to be completely rehashed. The original .met file is not touched, we simply create our .dat file right next to it. As a side-effect, hydranode is now capable of loading temp files from multiple folders. TempCnt key in config specifies the count of dirs, and Temp_# keys list the dirs. Imported dirs (using import command in shell) are automatically added to temp dir listing.
Importing code still needs some work, while it already does it's job, I believe we can take this a lot further. For one thing, I'd like to update the .met files as we progress with the downloads, so the files can be easily imported back to eMule (currently hydranode-downloaded data would be lost, since eMule won't know more data has been downloaded). Additionally, full rehash of the file can be avoided as well, as soon as I figure out the gap-system eMule uses to write completed-ranges to the .met file.
Regarding the possible bug I mentioned in last blog post, seems it was a ghost-bug - when I woke up next morning, it didn't appear anymore, and right now everything seems to work properly, so I'd blame either my broken windows installation, or my ISP.
Oh, and to explain the missing blog posts since 8th - I spent several days re-installing my boxes; for a while there I thought my vidcard had died, but it's Ati's bad drivers to blame again ... anyway, testing the damn vidcard on multiple boxes and multiple drivers, along with like 6 re-installs took quite some time, but now everything seems to be working properly again.
Madcat, ZzZz