Readme for HaskellTorrent-0.1.1

Haskell Torrent - a haskell bittorrent client.

Introduction

This is a Haskell bittorrent client. I am the introduction document and I need to be written by some generous soul!

Installation

Here is what I do to install haskell torrrent locally on my machine:

cabal install --prefix=$HOME --user

Since we are using the magnificient cabal, this is enough to install haskell torrent in our $HOME/bin directory.

Usage

Haskell torrent can currently only do one very simple thing. If you call it with

HaskellTorrent foo.torrent

then it will begin downloading the file in foo.torrent to the current directory via the Bittorrent protocol. Note: Currently we have no support for multifile torrents.

Protocol support

Currently haskell-torrent supports the following BEPs (See the BEP Process document for an explanation of these)

Haskell-torrent is not supporting these BEPs, but strives to do so one day:

Haskell-torrent will probably never support these BEPs:

Debugging

For debugging, jlouis tends to use the following:

make conf build test

This builds HaskellTorrent with the Debug flag set and also builds the software with profiling by default so it is easy to hunt down performance regressions. It also runs the internal test-suite for various values.

Reading material for hacking HaskellTorrent:

Source code Hierarchy

Known bugs

"PieceMgrP"(Fatal):	Process exiting due to ex: user error (P/Blk (655,Block {blockOffset = 81920, blockSize = 16384}) is in the HaveBlocks set)
"ConsoleP"(Info):	Process Terminated by Supervisor

vim: filetype=none tw=76 expandtab