Yet another development day has reached it's end. It's 5am, by now I'm rather drunk, and frankly I have no idea what to write in today's blog entry. But since this is still "daily" diary, guess I'll have to cook up something.
From code point of view, the following upgrades might be worth mentioning:
- When starting new downloads, hydranode now verifies that we already don't have the file (and/or are not already downloading the file)
- Several improvements for re-loading part files on restart (altough it still does't work correctly yet - see below).
- Added new sources handling code. Now client acting as source has a new member - SourceInfo, which keeps a list of offered files by this client. DownloadInfo member is only instanciated when we are actually transferring data. SourceInfo only keeps a list of hashes (and current file's partmap), so it's very memory-effective for many sources.
Regarding temp files reloading, the current problem is that we need to construct PartData object passing the correct filesize (it is used to initialize the PartData internal FullRangeList objects), however at the time of temp file loading from disk, we do not know the filesize until we actually construct PartData, which in turn reads the filesize from the reference file. This leads to the FullRangeLists initialized with wrong filesize (detected from the actual filesize on disk - which is wrong), and breaks the entire thing. Adjusting the variables in FullRangeLists after we get the right filesize is not allowed by FullRangeList logic (resizing a pending download ??). So we need some PartData reference file changes possibly to be able to read the size from the file before constructing PartData object.
On other news,
wubbla wanted to help with upgrading the main website (with the upgrades in blog and forum, the mainpage looks like crap now compared to those two), and
arlekin was already doing some gfx stuff for web, so I brought them together. Hopefully they can come up with some cool new website, one being good with web coding, other being a talented designer.
As for myself, I'm dead tired and require sleep, since I'm still only hum ... er cat.
Madcat, ZzZz