Victor Shyba
78c8c8e64d
more porting, plus some functional tests working
2018-08-24 11:37:53 -04:00
Lex Berezhny
693a3346d2
pylint fixes
2018-08-24 11:37:53 -04:00
Lex Berezhny
4ece422f48
No longer inheriting from object and added proper use of super().
2018-08-24 11:37:53 -04:00
Lex Berezhny
69446491b8
pylint and unit test fixes
2018-08-24 11:37:50 -04:00
Lex Berezhny
5520d518b5
DHT py3 compatibility, mostly commenting out implements() and fixing imports
...
cryptstream py3 support, mostly commenting out implements()
lbry_file py3 support, mostly commenting out implements()
file_manager py3 support, mostly commenting out implements()
core py3 support, mostly commenting out implements() and fixing imports
2018-08-24 11:37:25 -04:00
Jack Robison
929a0cc5af
exclude self and querying node from closest contacts
2018-07-02 14:54:03 -04:00
Jack Robison
b6289d101d
fix improper sorting when getting the closest peers to a hash
2018-07-02 14:54:03 -04:00
Jack Robison
659632b66c
fix and update tests
2018-06-07 15:02:47 -04:00
Jack Robison
921ee3c4c1
use refreshTimeout in getRefreshList
2018-06-07 15:02:47 -04:00
Jack Robison
760417ff3a
pylint
2018-06-07 15:02:47 -04:00
Jack Robison
1adf4f7818
fix constant used to check if a bucket is fresh
2018-06-07 15:02:47 -04:00
Jack Robison
05241012a2
update contact replacement in KBucket to follow BEP0005
...
http://www.bittorrent.org/beps/bep_0005.html
2018-06-07 15:02:47 -04:00
Jack Robison
cf3359044d
fix conditions for when a kbucket should be split
...
https://stackoverflow.com/a/32187456
2018-06-07 15:02:47 -04:00
Jack Robison
5631a24881
improve findCloseNodes, choose closest contacts from higher and lower buckets
2018-06-07 15:02:47 -04:00
Jack Robison
c654bfe296
use reactor clock in TreeRoutingTable instead of time module
2018-06-07 15:02:47 -04:00
Jack Robison
23c202b5e4
refactor Contact class, DHT RPCs, and Contact addition/removal
...
-track contact failures, last replied, and last requested. use this to provide a 'contact_is_good' property on Contact objects
-ensure no duplicate contact objects are created
-remove confusing conflation of node id strings with Contact objects, update docstrings
-move RPC failure tracking to a callback/errback pair in sendRPC (so the contact is only updated once)
-handle seed nodes during the join sequence by setting their node ids after they initially reply to our ping
-name all of the kademlia RPC keyword args, remove confusing **kwargs and dictionary parsing
-add host ip/port to DHT send/receive logging to make the results comprehensible when running many nodes at once
2018-06-07 15:02:47 -04:00
Jack Robison
ad2dcf0893
add the parent node id to KBucket
2018-06-07 15:02:47 -04:00
Jack Robison
e52689a33d
remove OptimizedTreeRoutingTable for now, use TreeRoutingTable
2018-06-07 15:02:47 -04:00
Jack Robison
6666468640
add reactor arguments to Node
...
-adds reactor (clock) and reactor functions listenUDP, callLater, and resolve as arguments to Node.__init__
-set the reactor clock on LoopingCalls to make them easily testable
-convert callLater manage loops to LoopingCalls
2018-03-28 15:53:47 -04:00
Jack Robison
3296c0fb3d
move dht related classes to lbrynet.dht
2018-03-28 15:53:47 -04:00
Jack Robison
fdaaa0e678
changelog
2017-10-30 13:09:02 -04:00
Jack Robison
e89f3db31b
fix remaining length of close nodes list
2017-10-27 21:46:17 -04:00
Antonio Quartulli
673d1c4d43
Extend close nodes list by right amount
...
When a k-bucket does not contain enough close nodes, the
DHT will look into neighbouring k-buckets in order to entend
the list of returned nodes.
However, the list should not be extended beyond its maximum size.
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2017-10-26 02:21:24 +08:00
Jack Robison
9479179259
avoid future contact id parsing bugs by passing the contact id as an arg
2017-10-24 19:17:17 -04:00
Jack Robison
45adfc533b
fix id of new contact replacing a dead contact
2017-10-23 01:34:34 -04:00
Jack Robison
c9515f8fb6
logging and whitespace
2017-10-10 13:29:29 -04:00
Jack Robison
de1dc507ac
fix findCloseNodes when buckets aren't fully populated
2017-10-10 13:21:06 -04:00
Jack Robison
ab956d4a8e
use count parameter in findCloseNodes
2017-10-10 13:20:19 -04:00
Jack Robison
2a47385b62
add rpcAttempts and replacementCacheSize constants
2017-10-10 13:16:26 -04:00
Jack Robison
4a567f7ab1
organize dht errors and interfaces
2017-10-10 13:08:22 -04:00
Alex Grintsvayg
8db7c37fa7
exploring dht
2017-04-10 13:45:43 -04:00
Alex Grintsvayg
99e4f9b00b
we dont always want to encode key here. bucket.keyInRange() already does it when necessary
2017-04-04 15:01:59 -04:00
Alex Grintsvayg
502e2227b5
fix KeyError bug in dht
2017-03-31 14:26:19 -04:00
Alex Grintsvayg
850f51140e
formatting
2017-03-31 13:32:43 -04:00
Job Evers-Meltzer
250831a86a
remove unused distance function from routingtable
2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
c30ea04959
Remove commented code
...
This is the result of running eradicate (https://github.com/myint/eradicate )
on the code and double-checking the changes.
2016-12-15 18:58:06 -06:00
Job Evers-Meltzer
14ac2bac39
pylint: fix trailing-whitespace
2016-12-14 19:21:59 -06:00
Job Evers-Meltzer
b64fa51567
fixup long lines
2016-12-07 09:38:34 -05:00
Job Evers-Meltzer
61a354fa60
add bad-whitespace check to pylint
2016-11-09 11:27:07 -06:00
Jimmy Kiselak
7240ff6b1c
initial commit
2015-08-20 11:27:15 -04:00