[FirePuddle] Status Report
lpgcritter at nasquan.com
Sun Aug 28 02:15:03 EDT 2005
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
- 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
- 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.
More information about the FirePuddle