I''m happy to announce RubyTorrent 0.3, which I''ve decided is
good enough
to be called a beta. :)
>From http://rubytorrent.rubyforge.org/:
RubyTorrent is a pure-Ruby BitTorrent peer library and toolset. You can
use it to download or serve files over BitTorrent from any Ruby program.
RubyTorrent is released under the GNU GPL.
Note that RubyTorrent doesn''t include a tracker, although plans are in
the works. Nor does it include a fancy client program (though it does
include a reasonable one, mostly for debugging). At this point, it''s
"only" a BitTorrent peer and tracker communication library.
Release notes for 0.3:
Many more bug fixes. Speed is now basically comparable to Bram''s
client---at
least in my limited experiments.
The following are known issues with this release:
- Ruby threads don''t play well with curses. Non-blocking getch hangs.
See [ruby-talk:130620]. So we use ncurses.
- Ruby threads don''t play well with TCP sockets on Windows. There is a
20-second *global* freeze every time an outgoing connection is made to a
non-responsive host. See [ruby-talk:129578], [ruby-core:04364]. As you can
imagine, this can be quite a performance hit in a program that can make
potentially hundreds of such connections. In fact, it renders RubyTorrent
almost useless on Windows. A patch exists (indeed, has existed for many
months), and if I bug Matz
- Ruby threads don''t play well with writing data over TCP sockets. At
least,
that''s what I glean from [ruby-talk:130480], and it might explain the
occasional freezing behavior I see (3 to 30 seconds, sporadic) under heavy
loads in Linux.
Other than that :) everything works. I think.
--
William <wmorgan-rubytorrent-devel@masanjin.net>