Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 bytestring | Sam 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. | |||
2013-06-28 | ~ Use older bytestings. | Sam T | |
2013-06-21 | ~ Mk sub dir for submodules. | Sam T | |
2013-06-21 | ~ Remove bencoding submodule. | Sam T | |
2013-06-21 | ~ Add bencoding module. | Sam T | |
2013-06-20 | ~ Merge kademlia package. | Sam T | |
2013-06-20 | ~ Clean profiling files. | Sam T | |
2013-06-20 | ~ Group "not in tarball" files. | Sam T | |
2013-06-20 | ~ Fix typo in dirname. | 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-20 | ~ Ignore profiling files. | 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. |