Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-12-31 | Add default instance for NodeAddr | Sam Truzjan | |
2013-12-30 | Add module header to DHT Messages | Sam Truzjan | |
2013-12-30 | Add documentation to Token module | Sam Truzjan | |
2013-12-29 | Fix typo | Sam Truzjan | |
2013-12-29 | Enable all query handlers by default | Sam Truzjan | |
2013-12-29 | Add hashable instances for all address types | Sam Truzjan | |
2013-12-29 | Fix instance Alternative Routing | Sam Truzjan | |
2013-12-29 | Keep routing table in MVar. | Sam Truzjan | |
Since table updates is not atomic operations and may perform IO we should be able to gain /exclusive/ access to the table. Consider insertNode function: 1) Thread A read table_1; 2) Thread B read table_1; 3) Thread B ping node Z and it does not respond and get removed; 4) Thread B remove node Z from table_1 and get table_2; 5) Thread B put table_2; 6) Thread A insert a new node and get table_3; 4) Thread A put table_3; The problem is that final table_3 do have the removed node. At the moment, exclusive access solves this problem. | |||
2013-12-28 | Add instance Alternative Routing | Sam Truzjan | |
2013-12-28 | Simplify Routing monad | Sam Truzjan | |
2013-12-28 | Add routing table shape | Sam Truzjan | |
2013-12-28 | Drop old node if it is not responding | Sam Truzjan | |
2013-12-28 | Add logging to DHT | Sam Truzjan | |
2013-12-28 | Add pretty instances for NodeInfos | Sam Truzjan | |
2013-12-28 | Fix timestamp comparison | Sam Truzjan | |
2013-12-28 | Add node sessions | Sam Truzjan | |
2013-12-28 | Remove unused node list serialization | Sam Truzjan | |
2013-12-28 | Fix typo | Sam Truzjan | |
2013-12-27 | Add naive session tokens implementation | Sam Truzjan | |
2013-12-27 | Add implied_port field to DHT announce query | Sam Truzjan | |
2013-12-27 | Fix get_peers response encoding | Sam Truzjan | |
2013-12-26 | Fix node info list serialization | Sam Truzjan | |
2013-12-26 | Fix typo | Sam Truzjan | |
2013-12-26 | Fix documentation markup | Sam Truzjan | |
2013-12-26 | Merge branch 'dev' of https://github.com/DanielG/bittorrent | Sam Truzjan | |
2013-12-26 | Test ping and find_node bencoding | Sam Truzjan | |
2013-12-26 | Add IsString instance to NodeInfos | Sam Truzjan | |
2013-12-25 | Add Serialize instance for IP | Daniel Gröber | |
2013-12-25 | Merge branch 'master' into dev | Daniel Gröber | |
Conflicts: src/Network/BitTorrent/Exchange/Message.hs | |||
2013-12-25 | A bit of refactoring in Wire | Daniel Gröber | |
2013-12-25 | Fix name shadowing warning in Monoid instance | Sam Truzjan | |
2013-12-25 | Add connRemoteEhs field to Connection | Daniel Gröber | |
2013-12-25 | Add Monoid instance for ExtendedHandshake | Daniel Gröber | |
2013-12-25 | Add yourip field to ExtendedHandshake | Daniel Gröber | |
2013-12-25 | Fix GotPeers(peers) key | Sam Truzjan | |
2013-12-22 | Add connRemoteEhs field to Connection | Daniel Gröber | |
2013-12-22 | Add Monoid instance for ExtendedHandshake | Daniel Gröber | |
2013-12-22 | Add yourip field to ExtendedHandshake | Daniel Gröber | |
2013-12-21 | Add DHT messages | Sam Truzjan | |
2013-12-20 | Merge branch 'dev' of https://github.com/DanielG/bittorrent | Sam Truzjan | |
2013-12-20 | Qualify Data.Torrent.Piece as P instead of Data to avoid confusion | Daniel Gröber | |
2013-12-20 | Fix ambigous occurence of lookAhead | Daniel Gröber | |
2013-12-20 | Bump bencoding dependency | Sam Truzjan | |
2013-12-18 | Use only NodeId in comparing operation | Sam Truzjan | |
2013-12-18 | Add the new purified routing table | Sam Truzjan | |
2013-12-17 | Add the nodes field to torrent file | Sam Truzjan | |
2013-12-17 | Move Node attributes to the Core modules | Sam Truzjan | |
We need to share them between Exchange subsystem and DHT. | |||
2013-12-17 | Add PeerStore | Sam Truzjan | |
2013-12-16 | Add TODOs and cosmetic fixes | Sam Truzjan | |
2013-12-16 | Add spec for AnnounceInfo encoding | Sam Truzjan | |