Lex Berezhny
bc24dbea29
refactoring of DHT tests and fixed encoding bug when dealing with bytearray
2018-08-24 11:40:43 -04:00
Lex Berezhny
a937aff80f
pylint fixes
2018-08-24 11:37:53 -04: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
Victor Shyba
e1e7be63b8
more fixes on dht functionals
2018-08-24 11:37:53 -04:00
Victor Shyba
e1314a9d1e
working functional test_contact_rpc + more string bans
2018-08-24 11:37:53 -04:00
Victor Shyba
cea3b7630c
partial dht functional tests porting to py3
2018-08-24 11:37:53 -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
37ddaeca12
fix ping queue bug
2018-08-23 11:18:28 -04:00
Jack Robison
26e32472d5
fix upnp and peer port setup
...
-bump txupnp requirement
2018-08-07 19:04:54 -04:00
Jack Robison
03769b94b8
accept invalid store tokens for the first expire-time after startup
...
this is to better handle nodes storing to us after we've restarted our node
2018-07-02 13:26:38 -04:00
Jack Robison
537df6c8ad
log socket errors
2018-06-07 15:02:47 -04:00
Jack Robison
9a63db4ec6
add protocol version to the dht and migrate old arg format for store
2018-06-07 15:02:47 -04:00
Jack Robison
8efede6ad6
maybe_ping bad and unknown contacts instead of only unknown
2018-06-07 15:02:47 -04:00
Jack Robison
fb3aac15fa
add optional delay argument to enqueue_maybe_ping, fix default value
2018-06-07 15:02:47 -04:00
Jack Robison
a952d2d2c8
reset _listeningPort and _listening Deferred on teardown
2018-06-07 15:02:47 -04:00
Jack Robison
3dfc6bd2cc
update CallLaterManager to be an object
2018-06-07 15:02:47 -04:00
Jack Robison
760417ff3a
pylint
2018-06-07 15:02:47 -04:00
Jack Robison
4f72098cad
use PingQueue to try refresh all contacts
2018-06-07 15:02:47 -04:00
Jack Robison
c65274e9e5
add PingQueue to KademliaProtocol
2018-06-07 15:02:47 -04:00
Jack Robison
95ed1e044b
raise TransportNotConnected instead of logging a warning
...
-add a _listening Deferred to KademliaProtocol which is called when the protocol is started
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
11aad04c31
datagram decode error logging
2018-04-19 15:47:42 -04:00
Jack Robison
b89823c968
fix blob announce locking up the daemon process
2018-04-19 15:47:19 -04:00
Jack Robison
eabf4a0e40
remove delay from udp write
2018-03-28 18:50:24 -04:00
Jack Robison
5bab6f7d39
remove bandwidth stats
2018-03-28 18:50:24 -04:00
Jack Robison
14f9bb7b82
log EWOULDBLOCK
2018-03-28 15:53:51 -04:00
Jack Robison
a96d827c0f
use reactor time in Delay
2018-03-28 15:53:50 -04:00
Jack Robison
5013426e02
logging and docstring
2018-03-28 15:53:50 -04:00
Jack Robison
5628d0825b
add CallLaterManager
2018-03-28 15:53:49 -04:00
Jack Robison
87c69742cd
log packet encoding errors and warn if the transport is not connected
2018-03-28 15:53:48 -04:00
Jack Robison
b4bc5e2110
cancel callLater on error or timeout
2018-03-28 15:53:48 -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
ad6a2bef7f
handle error from old clients with a broken ping command
2018-03-28 15:53:45 -04:00
Alex Grintsvayg
d0aa0a7d0c
make dht forwards-compatible for upcoming switch to standardized bencode dict keys
2018-03-13 09:43:32 -04:00
Jack Robison
628c46e5d9
catch id validation errors
2017-10-24 20:26:03 -04:00
Jack Robison
e2259fd8f7
fix dht rpc id length
2017-10-24 20:25:54 -04:00
Jack Robison
c9515f8fb6
logging and whitespace
2017-10-10 13:29:29 -04:00
Jack Robison
7c50e26bd7
include method and args in _sentMessages
2017-10-10 13:19:03 -04:00
Jack Robison
a942e6f3eb
fix args for ping()
2017-10-10 13:18:38 -04:00
Jack Robison
fe2d6bad1b
fix logging error for dht rpc methods with no args (ping)
2017-10-10 13:18:00 -04:00
Jack Robison
3096c89e37
don't wrap exceptions with Failure
2017-10-10 13:17:36 -04:00
Jack Robison
fcaca05a81
fix redundant lbryid
2017-10-10 13:15:25 -04:00
Jack Robison
f1980f524e
fix raising remote exceptions
2017-10-10 13:09:25 -04:00
Jack Robison
4a567f7ab1
organize dht errors and interfaces
2017-10-10 13:08:22 -04:00
Jack Robison
422dbb549b
catch network-unreachable error in dht protocol
2017-07-14 14:29:12 -04:00
Jack Robison
9f15573742
add unique_contacts
2017-06-14 15:46:38 -04:00
Jack Robison
02475ff985
add dht bandwidth tracking
2017-05-30 11:41:54 -04:00
Jack Robison
8243349b20
use reactor.fireSystemEvent instead of reactor.stop
2017-05-01 21:09:24 -04:00