[ANN] RubyTorrent 0.3 (beta)

I'm happy to announce RubyTorrent 0.3, which I've decided is good enough
to be called a beta. :slight_smile:

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 :slight_smile: everything works. I think.

路路路

--
William <wmorgan-rubytorrent-devel@masanjin.net>

William Morgan wrote:

I'm happy to announce RubyTorrent 0.3, which I've decided is good enough
to be called a beta. :slight_smile:

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 :slight_smile: everything works. I think.

Good enough for me. That Azureus java nonsense was getting on my nerves - I want my memory back!

Asfand Yar Qazi ha scritto:

Good enough for me. That Azureus java nonsense was getting on my nerves - I want my memory back!

I don't think azureues is that bas :slight_smile:
BTW, it seem to me this pharse is incomplete:
>> " A patch exists (indeed, has existed for many
>> months), and if I bug Matz"

I also wonder why that patch was'nt merged.

gabriele renzi wrote:

Asfand Yar Qazi ha scritto:

Good enough for me. That Azureus java nonsense was getting on my nerves - I want my memory back!

I don't think azureues is that bas :slight_smile:

Azureus - no. Java, YES. I wish Azureus would compile with gcj into native binary code - I don't think it uses many AWT stuff, it uses gtk2.

路路路

BTW, it seem to me this pharse is incomplete:
>> " A patch exists (indeed, has existed for many
>> months), and if I bug Matz"

I also wonder why that patch was'nt merged.

Excerpts from gabriele renzi's mail of 13 Feb 2005 (EST):

BTW, it seem to me this pharse is incomplete:
>> " A patch exists (indeed, has existed for many
>> months), and if I bug Matz"

Oh yes, that was a test to see if anyone was paying attention. :slight_smile:
It should read: "and if I bug Matz maybe it'll get in to 1.8.3."

I also wonder why that patch was'nt merged.

I suspect it was just an oversight. You can see in [ruby-core:3154] that
Jean-Francois Nadeau provided a patch in July 2004, but it was never
incorporated. Anyways, [ruby-core:4364] says that the patch has been
back-ported to the 1.8 branch and it's just waiting for Matz-approval.

路路路

--
William <wmorgan-ruby-talk@masanjin.net>

Asfand Yar Qazi ha scritto:

gabriele renzi wrote:

Asfand Yar Qazi ha scritto:

Good enough for me. That Azureus java nonsense was getting on my nerves - I want my memory back!

I don't think azureues is that bas :slight_smile:

Azureus - no. Java, YES. I wish Azureus would compile with gcj into native binary code - I don't think it uses many AWT stuff, it uses gtk2.

it is SWT based, and IIRC that are possible to compile with gcj.
OTOH, now we need a great gui for RubyTorrent don't we? :slight_smile:

gabriele renzi wrote:

Asfand Yar Qazi ha scritto:

gabriele renzi wrote:

Asfand Yar Qazi ha scritto:

Good enough for me. That Azureus java nonsense was getting on my nerves - I want my memory back!

I don't think azureues is that bas :slight_smile:

Azureus - no. Java, YES. I wish Azureus would compile with gcj into native binary code - I don't think it uses many AWT stuff, it uses gtk2.

it is SWT based, and IIRC that are possible to compile with gcj.
OTOH, now we need a great gui for RubyTorrent don't we? :slight_smile:

pff.... CLI beats GUI any day :slight_smile: