Commit Graph

100 Commits

Author SHA1 Message Date
Brian Muller 9bb45b1c90
optimized calculation of max_replacement_nodes in Router, Fixes #79 2020-05-02 20:46:16 -04:00
Anders Jensen a0cc40bfe8
Added support for replacement_nodes pruning in KBuckets for #79 (#80) 2020-05-02 20:36:16 -04:00
Brian Muller 82d50d3967 Fixed #78 - load_state does not await bootstrap 2020-02-21 12:04:50 -05:00
Brian Muller 0be8cd2169 Fixed #77 - Unexpected type conversion in buckets 2020-02-21 11:37:59 -05:00
Brian Muller ad87e3c148
Create FUNDING.yml 2019-09-05 08:26:29 -04:00
Brian Muller 38796275a1 require version 4.0.0 or higher of rpcudp 2019-07-03 10:04:31 -04:00
Brian Muller f218b83833 added additional docs to Node to reduce confusion noted in #73 2019-07-03 08:22:35 -04:00
Brian Muller 9743986639 added coverage badge to README 2019-06-15 10:51:20 -04:00
joriscarrier 3631505ae2 update tests without unittest only pytest (#62) 2019-06-15 10:44:53 -04:00
Brian Muller 4a8d445c9e minor version update to handle long_description_content_type for pypi 2019-02-04 09:00:47 -05:00
Brian Muller 43b2a0bd98 minor release due to API change for listen method 2019-02-04 08:54:17 -05:00
Daehee Kim 62bdcd852a `KBucket.remove_node` removes nodes in replacement_nodes. (#66) 2019-01-17 10:44:11 -05:00
Brian Muller 44007c5211 added long description to setup 2019-01-16 11:25:45 -05:00
Daehee Kim 906340a20c Improve `KBucket.split` (#65)
- Replacement nodes are kept in splitted buckets.
2019-01-16 11:25:28 -05:00
joriscarrier 4cd8488ed7 tests(server): test storing (#64) 2019-01-15 16:57:45 -05:00
joriscarrier 483ff455e7 refacto(storage): use '@abstractmethod' instead of 'raise NotImplementedError' in Storage Interface (#61) 2019-01-12 11:46:53 -05:00
joriscarrier be6b60847b Asynchronous Server listening (#58) (#60) 2019-01-12 11:44:39 -05:00
Brian Muller 0953e0edb2 use xenial distribution for python 3.7 support in travis 2019-01-09 11:34:37 -05:00
Brian Muller 3e7cc3b172 spell pytest right in dev reqs 2019-01-09 11:30:48 -05:00
Brian Muller cf9d490d64 removed all camelcase silliness, bumped version to 2.0 2019-01-09 11:27:10 -05:00
Brian Muller dbe41e3b08 updated issue template, readme 2018-11-24 10:01:27 -05:00
Brian Muller 838a7c2435 Update issue templates 2018-11-24 09:56:09 -05:00
Anthony Ryan ac87b85987 Fix Wikipedia link (#53)
The link on Wikipedia has been replaced with a disambiguation page, link directly instead.
2018-10-25 16:20:20 -04:00
Brian Muller 7d3b8efef9 Minor version release, due to #52 2018-06-30 09:27:28 -04:00
Nisen c3b7836eaa Make table traverser more accurate. (#52)
Add test case for TableTraverserTest;
Change iter method to pop left from 'rightBuckets' which is nearer.
2018-06-30 09:24:00 -04:00
Brett Johnson 3035876839 Error appropriately when putting invalid typed value in DHT (#48)
* Fixes #46

* Remove some ambiguity in the way IStorage works in comment

* Make documentation addition more clear

* Remove unneeded line

* Remove documentation example
2018-04-18 12:55:23 -04:00
NixNodes ecde2c9258 Use timers not affected by system clock updates (#42)
See paragraph two of https://docs.python.org/3/library/time.html#time.time
2018-01-25 13:06:17 -05:00
Brian Muller 3b93189ef2 removed unused import 2018-01-02 14:27:17 -05:00
Brian Muller d78e9e6b0e Merge branch 'python3.5' 2018-01-02 14:21:28 -05:00
Brian Muller f3641864d0 fixed examples 2018-01-02 14:17:36 -05:00
Brian Muller 20dd256608 all tests pass 2018-01-02 14:00:19 -05:00
Brian Muller ab8291eada updated logging code and README 2018-01-02 13:14:25 -05:00
Brian Muller 65dc646e98 upgraded testing methods, dev dependencies, and travis config 2018-01-01 17:07:40 -05:00
Vicente Dragicevic a6e50acd84 @python3.5 - Fix saving/loading state (#37)
* Fix await self.find() in crawler

* Fix state loading/saving

* Fix saveStateRegularly (it was using a Twisted function)

* Use loop.call_later for saveStateRegularly and cancel task on server.stop()

* Remove innecessary function

* Add missing initialization of save_state_loop, and changed the checks for Noneness
2017-10-16 23:17:35 +02:00
Vicente Dragicevic 67abd88ec2 Fix await self.find() in crawler (#34) 2017-10-07 12:55:14 -04:00
Justin Holmes b0db225b98 Allowing swappable protocol_class for Server. (#32)
* Allowing swappable protocol_class for Server.

* Changed protocol_class to be an attribute on the Server class; added tests.
2017-08-31 17:36:22 -04:00
Brian Muller 6045e70ddb Fixes #31 - issue in example 2017-08-30 20:42:21 -04:00
Brian Muller e8ab5f8335 fix issue in republishing keys with only digest available, fixing #25 2017-03-15 14:40:32 -04:00
Brian Muller e58c710da0 fix issue in republishing keys with only digest available, fixing #25 2017-03-15 14:36:10 -04:00
faisal burhanudin 55594096d1 missing asyncio and change unittest (#24)
* missing asyincio

* - change unittest twisted using builtin unittest
- fix bytes parameter in hashlib
2016-11-30 14:45:46 -05:00
Brian Muller 125abe7415 fix issue with bit prefix finding in sharedPrefix 2016-08-06 11:16:57 -04:00
Eloahman de78bd9b5d Async call should be scheduled in loop 2016-08-06 10:46:24 -04:00
Eloahman 080ed21627 Periodic refresh issue fixed for Python3 2016-08-02 09:55:49 -04:00
Brian Muller f3d1d2e6a5 fixed issue with refreshTable not using correct spider api 2016-08-01 13:41:26 -04:00
Brian Muller 464ae5bd1f library now uses asyncio instead of twisted 2016-07-12 08:32:02 -04:00
Brian Muller 6bbd1bfa42 Revert "Comment change"
This reverts commit b37b65cd10.
2016-04-07 10:22:11 +03:00
Prabodh Agarwal b37b65cd10 Comment change
Added comments for interface as changed in listen() to reflect in kademlia.readthedocs,org page.
2016-04-07 10:16:45 +03:00
Brian Muller 32e4cb7ff6 make sure pyflakes / pep8 run on travis build 2016-04-07 09:47:08 +03:00
Brian Muller 9549bc6a5b make sure that linting is a part of automated tests 2016-04-07 09:42:40 +03:00
Brian Muller 87ea77d12d formating update, bumped version 2016-04-07 09:39:29 +03:00