Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-12-07 | Prettify pretty instances | Sam Truzjan | |
2013-12-07 | Decode extended metadata message | Sam Truzjan | |
2013-12-06 | Add documentation to extended handshake | Sam Truzjan | |
2013-12-06 | Unify capabilities operations | Sam Truzjan | |
2013-12-06 | Implement extended message id convention | Sam Truzjan | |
2013-12-06 | Document core messages | Sam Truzjan | |
2013-12-05 | Add keep alive interval constant | Sam Truzjan | |
2013-12-05 | Lift the requires function to message class | Sam Truzjan | |
2013-12-05 | Document status messages | Sam Truzjan | |
2013-12-05 | Document message extensions | Sam Truzjan | |
2013-12-05 | Make extended caps mutable | Sam Truzjan | |
2013-12-05 | Simplify Core modules imports | Sam Truzjan | |
2013-12-05 | Keep track inflight set in assembler | Sam Truzjan | |
2013-12-05 | Follow naming conventions in qualified imports | Sam Truzjan | |
2013-12-05 | Rename ClientInfo datatype to Fingerprint | Sam Truzjan | |
2013-12-05 | Move piece selection algorithms to separate module | Sam Truzjan | |
2013-12-05 | Move Block module to exchange subsystem | Sam Truzjan | |
2013-12-05 | Add Wire module | Sam Truzjan | |
2013-12-05 | Add BEP9 messages | Sam Truzjan | |
2013-12-03 | Add extension protocol handshake | Sam Truzjan | |
2013-12-01 | Fix building with aeson >= 0.6.2.0 ..again | Daniel Gröber | |
..overlooked this one, no idea why that built before | |||
2013-12-01 | Fix building with aeson >= 0.6.2.0 | Daniel Gröber | |
deriveJSON now takes an Option record instead of a single function. It might be nicer to define a function that takes the fieldLabelModifier function rather than doing it inline everywhere but I didn't know where a good place to put that would be. | |||
2013-12-01 | Add a few thoughts about piece management | Sam Truzjan | |
2013-12-01 | Move exchange extension stuff to the Message module | Sam Truzjan | |
2013-11-29 | More safiety in InfoHash convertions | Sam Truzjan | |
2013-11-28 | Move extension module | Sam Truzjan | |
2013-11-28 | Refactor exchange namespaces | Sam Truzjan | |
2013-11-28 | Rename module | Sam Truzjan | |
2013-11-28 | Add extended module for extended messages | Sam Truzjan | |
2013-11-27 | Move exchange status to separate module | Sam Truzjan | |
2013-11-27 | Use Pretty class in exchange protocol | Sam Truzjan | |
2013-10-31 | Update license | Sam Truzjan | |
2013-10-31 | Merge bittorrent package with torrent-content | Sam Truzjan | |
2013-08-16 | ~ Fix some warnings. | Sam T | |
2013-08-16 | ~ Remove torrent-content modules. | Sam T | |
2013-07-22 | ~ Expose some session data. | Sam T | |
2013-07-21 | ~ Move some extensions to cabal. | Sam T | |
2013-07-20 | ~ Move compact peer list decoding to Peer. | Sam T | |
2013-07-16 | ~ Fix some long standing warnings. | Sam T | |
2013-07-10 | ~ Some preparations for peer listener. | Sam T | |
2013-07-10 | ~ Refactor handshake. | Sam T | |
2013-07-04 | ~ Add more JSON instances. | Sam T | |
2013-07-04 | ~ Rename PeerID to PeerId. | Sam T | |
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 | + Add very basic storage operations. | Sam T | |
Now we can download and make some progress, but very unstable. | |||
2013-06-14 | ~ Cosmetic changes. | Sam T | |
2013-06-13 | ~ Fix wall suggestions. | Sam T | |
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. |