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>