wmorgan-rubytorrent-devel at masanjin.net
Mon Jan 10 16:53:18 EST 2005
Excerpts from Luis Felipe Strano Moraes's mail of 10 Jan 2005 (EST):
> we are interested in using rubytorrent as a project in a hackfest
> we're organizing, and I would like to know if you have any idea of
> stuff that needs to be done, or something like it.
Well, the obvious target at this point is a nice multi-download GUI
client that uses RubyTorrent, using one of the Ruby GUI toolkits. Should
be pretty easy to write. That would probably also help eliminate a lot
of bugs. :)
If you want to hack on RubyTorrent itself, there are a couple items on
my todo list. I'm not sure if any of them are hackfest kind of
challenges, but maybe so. They are:
- gzip in tracker protocol
I think there are some (old) trackers out there that respond with
gzipped data, but I can't find any. I need to find one, play with it,
and add gzip functionality to tracker.rb.
- Better handling of character encoding in .torrent files.
Right now RubyTorrent handles .utf-8 encoding only. I haven't seen any
other encodings, but it will definitely break if it sees them. There's
a weird convention for specifying encodings in metainfo fields that
necessitates some restructuring of typedstruct.rb and metainfo.rb if I
want to handle it correctly.
The available documentation for this is pretty sparse. I'm doing
what I can glean from what's available, filling the gaps in with
what I *think* is reasonable, but who knows. Needs testing.
- End-game mode
Ditto. No realy documentation on this that I could find. Needs
testing, specifically: when should I enter end-game mode? With 10
pieces left? With 1% of total bytes left? Etc.
- Super-seeding mode.
Needs to be implemented.
- General performance tweaking and comparisons
How well does RubyTorrent compare to Bram's BitTorrent client? To
Azareus? To other clients? If worse, what are they doing differently?
There are tons of tweakable things in peer.rb, both in terms of
numbers, threshold conditions, and algorithms.
Does that help?
William <wmorgan-rubytorrent-devel at masanjin.net>
More information about the rubytorrent-devel