Alo Sarv
lead developer

Donate via

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary

Thursday, February 16, 2006

Settings page backend and Library page

Got into proper dev-mode today; first 6 hours resulted in full backend being written for the settings page (gui-side), roughly 350 lines of code. On the protocol and core-side, the backends were already implemented in the past (during the Launcher development). Some minor things still need tweaking there (such as better handling of shared directories listing), but those will be done during second iteration over the GUI.

After lunch and a short break, my focus turned towards library page, so as to finish the first iteration over the GUI. The GUI-side implementation was more or less copy/paste from what we had in transfer page, since these two pages are very similar. Some functionality (custom tabs behaviour) was also refactored into a generic class to avoid some code duplication (those tabs are already being used by three pages now).

Basically, the library page will be exactly like transfer page, except reversed - instead of "Completed" column, there'll be "Uploaded" column; Speed column remains, but will display file's upload speed instead; instead of Status, we show Location. To give you a better idea on what I mean:

With the GUI-side backend (340 lines code) operational, I also implemented the libcgcomm-side implementation of the protocol for shared files listing (also very similar to that of downloadlist). The core-side implementation of the protocol is somewhat more complex, it can be implemented very similarly to that of downloadlist. Still the latter is already 500+ lines of code, so it takes a while to create similar caching mechanism for sharedfiles listing. We also lack some related features on core-side, such as uploadrate calculation for shared files, so that introduces some changes to hncore library and network plugins.

So, with the additional 700 new lines of code today, the GUI is now composed of 2182 lines of C++ code and 2736 lines of XML.

Madcat, ZzZz

Edit: Since I couldn't get sleep, I introduced a handcrafted event multiplexing system in low-level sockets to bypass the slow Boost.Signals. Based on profiler data, this should lower overall CPU usage by around 30%. Initial testing didn't reveal any problems, but extended testing is still needed. Revision 2666 contains the changes.

owww... It's getting close to being released to us... I can feel it ;-)
Very nice project, I hope it will be released soon for the average user ;)

Best regards from II Open Source Word Conference 2006 in Malaga
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?