summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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+ 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-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.
2013-06-28~ Use older bytestings.Sam T
2013-06-20~ Merge kademlia package.Sam T
2013-06-20~ merge mmap-fixed package into bittorrent.Sam T
reason: mmap-fixed is pretty useless out of scope of bittorrent, at least i don't think that it'll be used some time that way. Moreover we can hide some internal stuff and simplify interface and simplify user code. Using mmap-fixed we can provide Storage datatype with all necessary operations needed to keep torrent content in memory of FS. Also that seems pretty annoying to merge this 2 repos into one using git merge(there are not so many stuff anyway), so I just did that manually. :<
2013-06-14- Remove monadfork dependency.Sam T
2013-06-14~ Specialize some functions for docs.Sam T
2013-06-14~ Add documentation for PeerSession.Sam T
2013-06-14+ Add docs to progress and client session.Sam T
2013-06-14~ Minor changes.Sam T
2013-06-14~ Cosmetic changes.Sam T
2013-06-13~ Use bounded chan to avoid space leaks.Sam T
2013-06-13+ Add defaultClient function.Sam T
This exposes problems with keepalives: exsample: sendWakeup: resource exhausted (Resource temporarily unavailable )
2013-06-13~ Use safe semaphores.Sam T
2013-06-13~ Use QSem instead of QSemN.Sam T
2013-06-13~ Bound count of concurrent sessions.Sam T
2013-06-13~ Fix wall suggestions.Sam T
2013-06-12+ Add session exception.Sam T
2013-06-12- Remove some debug stuff.Sam T
2013-06-12~ Fix bugs in tracker communication.Sam T
* Fix tracker interval timeout: threadDelay use argument is microseconds while tracker response is seconds. * Fix stopped request: tracker might response with empty body.
2013-06-12~ Minor fixes.Sam T
* Annotate all required fields as strict. These are always used and there is no reason to keep them lazy. * Augment user errors with location.
2013-06-12+ Rename to await and yield.Sam T
2013-06-12~ Use lens.Sam T
2013-06-11~ Use data-default for default values.Sam T
2013-06-11~ Merge Scrape to Tracker.Sam T
2013-06-11~ Minor changes.Sam T
2013-06-11~ Use exception in fromFile.Sam T
Again, the problem is that one function returns errors in two different ways: Either and IO exceptions. It's better to just throw exception in either case.
2013-06-11~ Use Chan for current unused peer list.Sam T
2013-06-11~ Merge selection module to bitfield.Sam T
2013-06-11+ Add progress to client session.Sam T
2013-06-11~ Add keepalive timeouts.Sam T
2013-06-10~ Sketch of high level API.Sam T
2013-06-09~ Hide *.Protocol modules.Sam T
2013-06-08+ Add some docs.Sam T
2013-06-08~ Merge Status into Protocol.Sam T
2013-06-08~ Fix build fail after renaming.Sam T
2013-06-08~ Rename PeerWire to Exchange.Sam T
2013-06-08~ Minor changes.Sam T
2013-06-08~ Merge Block and Handshake into Protocol.Sam T
We could provide better api this way. Also this refactoring should reduce compilation time.
2013-06-07~ Rename Message to Protocol.Sam T
2013-06-07~ Fix bitfield encoding.Sam T
2013-06-07~ Merge Encoding to Main.Sam T
2013-06-07~ Throw exception in askTracker.Sam T
HTTP client functions throws an exception. If we unable to decode result we return BEncode.Result.Left. So user of this function should check both kinds of errors and this complicate usage. Instead of this we throw IOException too.