[ANN] RubyTorrent 0.3 (beta)

W

William Morgan

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.
 
A

Asfand Yar Qazi

William said:
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.

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

gabriele renzi

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 :)
BTW, it seem to me this pharse is incomplete:
I also wonder why that patch was'nt merged.
 
A

Asfand Yar Qazi

gabriele said:
Asfand Yar Qazi ha scritto:



I don't think azureues is that bas :)

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.
 
G

gabriele renzi

Asfand Yar Qazi ha scritto:
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? :)
 
W

William Morgan

Excerpts from gabriele renzi's mail of 13 Feb 2005 (EST):
BTW, it seem to me this pharse is incomplete:

Oh yes, that was a test to see if anyone was paying attention. :)
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.
 
A

Asfand Yar Qazi

gabriele said:
Asfand Yar Qazi ha scritto:



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? :)

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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,276
Latest member
Sawatmakal

Latest Threads

Top