[http-replicator-users] released 4.0alpha1
Brought to you by:
g3rtjan
From: Gertjan v. Z. <ger...@gm...> - 2008-01-01 13:50:08
|
Finally. Today I finally managed to release a replicator that is 100% to my satisfaction. Which does not mean to say it is bug free, nor feature complete. But it is a version that I can work at without the nagging feeling that things should change drastically, and that all patching up is lost effort. The new server has a shining new engine, the fiber module, which I started documenting some time ago in README.devel included in the package - work in progress but the idea is there. In short: each separate transaction is a generator object (available since python 2.3; a very strict dependency) that yields state information to the scheduler. Compared to the asyncore framework that I used previously the new system is much more flexible, in a way emulating a multi-threaded setup while still being the lightweight single-threaded application it always was. The new flexibility made it possible to implement often requested features such as: - server-side download resuming - ftp support - bandwidth shaping - support for ipv6 (although this should be tested!); and to fix outstanding issues that I was not able to fix within the rigid asyncore framework. Most notably, the often reported problem with frozen downloads that never closed is finally solved by putting a (configurable) timeout to all waiting states. Another annoying problem was the situation that transactions could be joined only after server response, with the result that simultaneously started downloads would never join force. All this is fixed. Text output should also be a lot clearer now that it is gathered per transaction and printed upon return; see the project screenshot for demo output. The old behaviour is still available as a --debug mode, which also prints extra information about current waiting states. However much has changed on the inside, on the outside the new replicator should be a continuation of previous versions. Some features have has gone missing - most notably cache browsing - but all of those I intend to restore in later alpha releases. After that I will switch to beta releases and stop adding big things until the server is thoroughly tested and released as 4.0. Needless to say you are highly encouraged to help me test this software and report your findings on this list. The unit-test script that is included in the package should be a good starting point - I actually expect most problems found this way to be bugs in the script, but these should be fixed just as well. Any further questions, problems, wishes, etc, please send them to this list so that others can benefit and I don't have to make the same replies over and over again ;P And a very happy 2008 to all of you! Gertjan |