Commit graph

41 commits

Author SHA1 Message Date
Victor Shyba
1adce8b227 reduce routing table ping flood 2018-10-01 15:17:10 -03:00
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