summaryrefslogtreecommitdiff
path: root/src/Network
AgeCommit message (Collapse)Author
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~ Another 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-04~ Add more JSON instances.Sam T
2013-07-04~ Rename PeerID to PeerId.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 JSON instance for ScrapeInfo.Sam T
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+ 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+ Document some invariants and goal of exchange.Sam T
2013-06-28~ Use older bytestings.Sam T
2013-06-20~ Merge kademlia package.Sam T
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