summaryrefslogtreecommitdiff
path: root/src/Network
AgeCommit message (Collapse)Author
2013-12-29Fix instance Alternative RoutingSam Truzjan
2013-12-29Keep 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-28Add instance Alternative RoutingSam Truzjan
2013-12-28Simplify Routing monadSam Truzjan
2013-12-28Add routing table shapeSam Truzjan
2013-12-28Drop old node if it is not respondingSam Truzjan
2013-12-28Add logging to DHTSam Truzjan
2013-12-28Add pretty instances for NodeInfosSam Truzjan
2013-12-28Fix timestamp comparisonSam Truzjan
2013-12-28Add node sessionsSam Truzjan
2013-12-28Remove unused node list serializationSam Truzjan
2013-12-28Fix typoSam Truzjan
2013-12-27Add naive session tokens implementationSam Truzjan
2013-12-27Add implied_port field to DHT announce querySam Truzjan
2013-12-27Fix get_peers response encodingSam Truzjan
2013-12-26Fix node info list serializationSam Truzjan
2013-12-26Fix typoSam Truzjan
2013-12-26Fix documentation markupSam Truzjan
2013-12-26Merge branch 'dev' of https://github.com/DanielG/bittorrentSam Truzjan
2013-12-26Test ping and find_node bencodingSam Truzjan
2013-12-26Add IsString instance to NodeInfosSam Truzjan
2013-12-25Add Serialize instance for IPDaniel Gröber
2013-12-25Merge branch 'master' into devDaniel Gröber
Conflicts: src/Network/BitTorrent/Exchange/Message.hs
2013-12-25A bit of refactoring in WireDaniel Gröber
2013-12-25Fix name shadowing warning in Monoid instanceSam Truzjan
2013-12-25Add connRemoteEhs field to ConnectionDaniel Gröber
2013-12-25Add Monoid instance for ExtendedHandshakeDaniel Gröber
2013-12-25Add yourip field to ExtendedHandshakeDaniel Gröber
2013-12-25Fix GotPeers(peers) keySam Truzjan
2013-12-22Add connRemoteEhs field to ConnectionDaniel Gröber
2013-12-22Add Monoid instance for ExtendedHandshakeDaniel Gröber
2013-12-22Add yourip field to ExtendedHandshakeDaniel Gröber
2013-12-21Add DHT messagesSam Truzjan
2013-12-20Merge branch 'dev' of https://github.com/DanielG/bittorrentSam Truzjan
2013-12-20Qualify Data.Torrent.Piece as P instead of Data to avoid confusionDaniel Gröber
2013-12-20Fix ambigous occurence of lookAheadDaniel Gröber
2013-12-20Bump bencoding dependencySam Truzjan
2013-12-18Use only NodeId in comparing operationSam Truzjan
2013-12-18Add the new purified routing tableSam Truzjan
2013-12-17Move Node attributes to the Core modulesSam Truzjan
We need to share them between Exchange subsystem and DHT.
2013-12-17Add PeerStoreSam Truzjan
2013-12-16Add TODOs and cosmetic fixesSam Truzjan
2013-12-16Add spec for AnnounceInfo encodingSam Truzjan
2013-12-16Test peer list encodingSam Truzjan
2013-12-15Strictify peerHost fieldSam Truzjan
2013-12-15Rename PeerAddr(peerAddr) to PeerAddr(peerHost)Sam Truzjan
2013-12-15Fix bugs in PeerAddr encoding.Sam Truzjan
Also: * PeerAddr.hs internals and export list have been simplified; * tests added.
2013-12-15Fix warnings in PeerAddr.hsSam Truzjan
2013-12-14Make PeerAddr polimorphic in its address typeDaniel Gröber
2013-12-14Use Data.IP for peerIP in PeerAddr typeDaniel Gröber