[FirePuddle] Status Report

loune lpgcritter at nasquan.com
Sun Aug 28 02:15:03 EDT 2005


Hi List,

Here's my first status report, ironically on the last week of the Google 
Summer of Code program.

About 24 hours ago, I successfully downloaded a file (Firefox 1.0.5 
setup in fact) via firepuddle, albeit in a test environment. It might 
not seem much, but to me, it's really a breakthrough. After 3 weeks of 
coding and guessing, it's nice to know that what I've written actually 
works! There is basically no GUI at the moment, because I am currently 
concentrating on the core stuff. It would've been nice if I was at this 
stage two weeks ago, but better late than never. The code is currently 
around 40% to a 1.0 release that I would be satisfied with.

I am aiming to have an alpha release ready on Wednesday. The alpha 
release will be more of a proof of concept - a very limited BT client 
for people to test out. You shouldn't use it to download anything 
important. It will have all the Stage 1 features listed in my plan 
earlier this month:

- parse .torrent file (bencoding)
- connect to tracker and fetch peers
- store peers in a list
- download/upload data with peers
- sha1 checking of pieces

Caveats:

- No .torrent integration with firefox
- Single file torrents only
- One concurrent download
- Single tracker connection
- Limited GUI
- No resuming across sessions
- Random crashes

Note that you'll need a deer park release to test it.

A Beta release will be in two weeks. That should be more complete with 
proper GUI and firefox integration.

For those who care about technical details, here are a few:

- All [core] code is written with C++, currently compiling against deer 
park on win32
- Code is purely NSPR/XPCOM, so it should be quite easy to port over to 
other platforms
- torrents runs on its own thread, with basically everything 
asynchronously handled on it.
- memmaps are used for file I/O
- mmm... can't think of anymore to say.

cheers,

-l


More information about the FirePuddle mailing list