summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-10+ Add DHT node Id generation.Sam T
2013-07-10~ Refactor handshake.Sam T
2013-07-09Wrap DHT tracker-side RPC.Sam T
2013-07-09Implement DHT server methods.Sam T
2013-07-09~ Move DHT to single module.Sam T
2013-07-08~ Unliterate example.Sam T
2013-07-08~ Change newPeerId to genPeerId.Sam T
To follow DHT genNodeId.
2013-07-08~ Flush pending queue.Sam T
Otherwise we get space leak.
2013-07-07~ Expose progress.Sam T
2013-07-07~ Refactor torrent registration a bit.Sam T
2013-07-07Minor changesSam T
2013-07-07~ Turn some comments into literate.Sam T
2013-07-07~ Minor changes.Sam T
2013-07-07~ Fix section headings.Sam T
2013-07-07+ Literate Torrent Map section.Sam T
2013-07-07+ Literate thread throttling.Sam T
2013-07-07Literate Internal module a bitSam T
2013-07-07~ Yet Yet Another Literate Haskell Test.Sam T
2013-07-07~ Yet Another Literate Haskell Test.Sam T
2013-07-07~ Another Literate Haskell test.Sam T
2013-07-07~ Literate Haskell test.Sam T
2013-07-07~ Move exchange function to Exchange module.Sam T
2013-07-07~ Reassign listener to client session.Sam T
2013-07-06+ Add torrent registration.Sam T
2013-07-05~ Add torrent path predicate.Sam T
2013-07-04~ Add more JSON instances.Sam T
2013-07-04~ Rename PeerID to PeerId.Sam T
2013-07-04~ Make JSON instance for Torrent.Sam T
Note that we have reorder some code to follow GHC Stage Restrictions.
2013-07-04+ Add Torrent Hashable instance.Sam T
2013-07-04~ Use TH for JSON instance.Sam T
Note that we don't need JSON tests anymore.
2013-07-04~ Use Data.Text for text fields.Sam T
2013-07-04+ Add tests for ScrapeInfo encoding.Sam T
2013-07-04+ Add JSON instance for ScrapeInfo.Sam T
2013-07-04~ Minor changes.Sam T
2013-07-04~ Move info hash test to main test suite.Sam T
2013-07-04~ Move MMap tests to properties test suite.Sam T
The MMap test suite is tiny enough to not separate it from the main test suite. It also reduces compilation (link) time a bit.
2013-07-03~ Use lazy bytestringSam T
This lead to the following consequences: * we could efficiently read from storage - if block intersects files boundaries then we will "view" the block in the two different bytestrings. To avoid concat we now return lazy bytestring; * we could read block from socket without "concat" - again, for the same reason. The pitfail is that now we have a bit more heap object, but blocks lifetime is very short and this shouldnt play the big difference. The lifetime is either (socket -> storage -> unreachable) or (storage -> socket -> unreachable) unless a lib user keep block for their own purposes.
2013-06-30~ Fix binary instance.Sam T
2013-06-30+ Add instances for Binary.Sam T
2013-06-30~ Avoid piece copying in piece validation.Sam T
The 'getPiece' is internal function, so no need to copy the all piece. This optimization removes 5% of overall program allocation.
2013-06-30+ Add some SCC annotations.Sam T
2013-06-30~ Keep track left progress bytes.Sam T
2013-06-30~ Ignore profiling files.Sam T
2013-06-30+ Add very basic storage operations.Sam T
Now we can download and make some progress, but very unstable.
2013-06-29+ Scetch basic broadcasting.Sam T
2013-06-29+ Add throughput bench, simplify example.Sam T
2013-06-28+ Default P2P.Sam T
2013-06-28~ Adapt storage.Sam T
2013-06-28+ Document some invariants and goal of exchange.Sam T
2013-06-28~ Move Storage to bittorrent.Sam T
This way we can hide some session <-> storage details.