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
Jack Robison
d2f01a214d
reduce logging level for noisy dht warning
2017-04-19 15:59:50 -04:00
Alex Grintsvayg
8db7c37fa7
exploring dht
2017-04-10 13:45:43 -04:00
Alex Grintsvayg
850f51140e
formatting
2017-03-31 13:32:43 -04:00
jobevers
71123c0de1
add warning log on EWOULDBLOCK
2017-02-11 13:04:36 -06:00
Alex Grintsvayg
35b2e56bd4
silence "[Errno 11] Resource temporarily unavailable" error
2017-02-11 13:04:35 -06:00
Job Evers-Meltzer
8fe15f507b
Better dht shutdown.
...
The old code relied on the timing of DelayedCalls
to see what had been called or not, but unfortunately
we don't have a real-time OS so the timing on DelayedCalls
can only be approximate. Changed to explicitly keep
track of which calls had been made.
This simplifies the shutdown logic drastically, and I believe
we can take out the reactor.iterate() now
2016-12-15 23:44:35 -06:00
Job Evers-Meltzer
84baa5e065
dht: refactor _msgTimeout
2016-12-15 18:58:16 -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
Jack
5ae3485411
Merge branch 'master' into error-messages
...
# Conflicts:
# lbrynet/dht/protocol.py
2016-11-14 14:11:02 -05:00