Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-02-19 | Link query handlers to the underlying messages in documentation | Sam Truzjan | |
2014-02-19 | Document DHT.Query module index | Sam Truzjan | |
2014-02-19 | Add module header to DHT session module | Sam Truzjan | |
2014-02-19 | Rename handlers to defaultHandlers | Sam Truzjan | |
2014-02-19 | Add MonadActive instance for DHT | Sam Truzjan | |
2014-02-19 | Add MonadResource instance for DHT | Sam Truzjan | |
2014-02-19 | Stop DHT node at client cleanup | Sam Truzjan | |
2014-02-19 | Hide ResIO, add stopNode function | Sam Truzjan | |
2014-02-19 | Prettify DHT session documentation index | Sam Truzjan | |
2014-02-19 | Return Bool instead of raising exception in checkToken | Sam Truzjan | |
2014-02-16 | Move ping function to Query module | Sam Truzjan | |
2014-02-16 | Remove getNodeId function | Sam Truzjan | |
2014-02-16 | Remove askOption | Sam Truzjan | |
2014-02-16 | Hide defaultAlpha and defaultK options | Sam Truzjan | |
2014-02-16 | Split query stuff from Session module | Sam Truzjan | |
2014-02-16 | Add Show and Eq instances for routing table | Sam Truzjan | |
2014-02-15 | Add documentation to null and full function | Sam Truzjan | |
2014-02-15 | Fix typos | Sam Truzjan | |
2014-01-23 | Add class MonadDHT | Sam Truzjan | |
2014-01-23 | Add convertion from routing table to list | Sam Truzjan | |
2014-01-21 | Add askOptions function | Sam Truzjan | |
2014-01-13 | Add documentation to session section | Sam Truzjan | |
2014-01-13 | Add announce set to DHT session | Sam Truzjan | |
2014-01-13 | Refactor DHT module | Sam Truzjan | |
2014-01-12 | Unify all iterative queries | Sam Truzjan | |
2014-01-11 | Add documentation to peer store section | Sam Truzjan | |
2014-01-11 | Unify kclosest and kclosestHash functions | Sam Truzjan | |
2014-01-11 | Add documentation for routing table operations | Sam Truzjan | |
2014-01-11 | Add options related to data republishing | Sam Truzjan | |
2014-01-11 | Add some good DHT reference | Sam Truzjan | |
2014-01-09 | Use K parameter in routing table lookups | Sam Truzjan | |
2014-01-08 | Do not block on getNodeId | Sam Truzjan | |
2014-01-08 | Fix some -Wall suggestions | Sam Truzjan | |
2014-01-08 | Pass query_timeout options to rpc manager | Sam Truzjan | |
2014-01-08 | Use newer krpc package | Sam Truzjan | |
2014-01-07 | Remove logging from queryNode | Sam Truzjan | |
2014-01-02 | Implement DHT lookup operation | Sam Truzjan | |
2014-01-02 | Stop bootstrapping when table is full | Sam Truzjan | |
2014-01-02 | Add bucket count option | Sam Truzjan | |
2014-01-02 | Fix query timeouts | Sam Truzjan | |
2014-01-02 | Add non operator version of (<@>) | Sam Truzjan | |
2014-01-02 | Use optTimeout option in each rpc call | Sam Truzjan | |
2014-01-02 | Use K parameter in DHT session | Sam Truzjan | |
2014-01-02 | Add DHT options | Sam Truzjan | |
2014-01-02 | Add documentation to Routing | 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 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 | |