Jack Robison
ae631f05c3
fix teardown error
2018-06-07 15:02:47 -04:00
Jack Robison
bc0da5e2d1
only use seeds in iterative bootstrap if no contacts are known yet
2018-06-07 15:02:47 -04:00
Jack Robison
16cb6d8657
remove Session._join_deferred
2018-06-07 15:02:47 -04:00
Jack Robison
44644673d7
add profiler
2018-06-07 15:02:47 -04:00
Jack Robison
e8b402f998
remove deferredLock from iterativeFind
...
-fire the first iteration right away
2018-06-07 15:02:47 -04:00
Jack Robison
adca5f5993
fix routing_table_get
2018-06-07 15:02:47 -04:00
Jack Robison
4fbaaac3f3
default new contacts to protocol version 0
2018-06-07 15:02:47 -04:00
Jack Robison
db06191c33
reduce default concurrent announcers to 10
...
-lower rpc timeout to what it originally was
2018-06-07 15:02:47 -04:00
Jack Robison
b0a741b1f4
fix hash announcer semaphore
2018-06-07 15:02:47 -04:00
Jack Robison
537df6c8ad
log socket errors
2018-06-07 15:02:47 -04:00
Jack Robison
42eb172638
refactor announceHaveBlob
...
-add cached `token` to Contact objects to minimize findValue requests
-remove self_store, always store to remote contacts even if we're the closest known node to the hash
-move the store call and error handling from announceHaveBlob to a smaller function of its own
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
7d21cc5822
pylint and more tests
2018-06-07 15:02:47 -04:00
Jack Robison
cce3c8c7b5
increase kademlia rpc timeout to 8 seconds
2018-06-07 15:02:47 -04:00
Jack Robison
0e80123615
use 12 minutes instead of 15 as delay in contact_is_good
2018-06-07 15:02:47 -04:00
Jack Robison
659632b66c
fix and update tests
2018-06-07 15:02:47 -04:00
Jack Robison
545930cea4
dht test environment fixes
2018-06-07 15:02:47 -04:00
Jack Robison
9582b7fcf5
use maybe_ping for refreshing stale buckets and storing peers
...
-move store refresh to its own looping call
2018-06-07 15:02:47 -04:00
Jack Robison
945da5985e
fix age used in datastore to determine if a value is expired
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
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
73e813f9ec
verify key size in Distance
2018-06-07 15:02:47 -04:00
Jack Robison
0d23c68797
raise attribute error for non-rpc functions in Contact
2018-06-07 15:02:47 -04:00
Jack Robison
ec1b6b2387
comments, cleaner key_bits constant
2018-06-07 15:02:47 -04:00
Jack Robison
29d5750371
pylint
2018-06-07 15:02:47 -04:00
Jack Robison
07f92014d7
omit bad contacts from getPeersForBlob
...
-refresh stored contacts to detect when they go offline or come back
2018-06-07 15:02:47 -04:00
Jack Robison
98e21cdba0
test re-join dht
2018-06-07 15:02:47 -04:00
Jack Robison
c521120b17
update and fix hash announcer test
2018-06-07 15:02:47 -04:00
Jack Robison
d02ed29e50
add kademlia store and expiration test
2018-06-07 15:02:47 -04:00
Jack Robison
470ebe2de3
remove unnecessary CallLaterManager from test_contact_rpc
2018-06-07 15:02:47 -04:00
Jack Robison
b5f3ed5542
update contact expiration test and add re-join after expiration test
2018-06-07 15:02:47 -04:00
Jack Robison
877da78505
ping contacts right away during refresh instead of using PingQueue
...
-fixes contact expiration test
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
7da70cc02d
test peer expiration
2018-06-07 15:02:47 -04:00
Jack Robison
d3f4155a2b
add unit tests for contact_is_good
2018-06-07 15:02:47 -04:00
Jack Robison
d250e4d91a
add iterative find test
2018-06-07 15:02:47 -04:00
Jack Robison
950ec5bc9a
update mocks and dht tests
...
-reorganize dht tests
2018-06-07 15:02:47 -04:00
Jack Robison
bdd6f948ca
add port to routing_table_get
2018-06-07 15:02:47 -04:00
Jack Robison
cc32d987b2
update peer_list
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
9920ff59d4
force KBucket refreshes
2018-06-07 15:02:47 -04:00
Jack Robison
ae22468fec
fix CallLaterManager trying to remove pending calls multiple times
2018-06-07 15:02:47 -04:00
Jack Robison
aee7a3aa38
simplify announceHaveBlob, remove unused getPeersForBlob
2018-06-07 15:02:47 -04:00
Jack Robison
372fb45e06
refactor dht bootstrap
...
after finding the closest nodes try to populate the buckets out by looking up random ids in their key ranges
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
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
d4e28216a0
sort KBucket.getContacts
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
f1e0a784d9
refactor iterativeFind, move to own file
2018-06-07 15:02:47 -04:00
Jack Robison
e5703833cf
prevent duplicate entries in the datastore
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
406ddaa4ef
use base class to simplify Node init
...
-add looping call helpers which use the same clock as the Node
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
d65dc0aec3
disable loading DictDataStore in Node.__init__
...
-to be re-done when the datastore uses sqlite
2018-06-07 15:02:47 -04:00
Jack Robison
159e153393
make DataStore clock mockable
2018-06-07 15:02:47 -04:00
Jack Robison
9ed08f8fc9
remove unused constant
2018-06-07 15:02:47 -04:00
Jack Robison
a503a800ca
disable Cryptonator exchange rate feed
2018-06-07 15:02:47 -04:00
Jack Robison
b673c508cc
disable NegotiatedPaymentRateManager, use OnlyFreePaymentsManager for now
2018-06-07 15:02:47 -04:00
Jack Robison
4bd9f3bd68
remove popular hash tracking, simplify DHTPeerFinder
2018-06-07 15:02:47 -04:00
Jack Robison
e6ffd7caf8
remove hashwatcher
2018-06-07 15:02:47 -04:00
Victor Shyba
b91181e640
refactor: simplify add_completed_blob + changelog
2018-05-30 16:19:49 -03:00
Lex Berezhny
23df1d0316
Merge branch 'master' into feature/file_list_sorting
2018-05-29 22:47:09 -04:00
Lex Berezhny
3d17c92bd3
moved import certifi to run only on windows
2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
c4550ef5b6
remove unused import in lbrynet.daemon.Daemon
2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
97547e904e
add os and sys imports
2018-05-29 22:36:37 -04:00
Victor Shyba
03968f377e
change fix position to before anything else starts
2018-05-29 22:36:37 -04:00
Akinwale Ariwodola
513f5d0568
added certifi package for Twisted SSL verification on Windows
2018-05-29 22:36:37 -04:00
Jack Robison
02bcc98a6a
Bump version 0.20.0rc9 --> 0.20.0rc10
...
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-05-29 15:56:58 -04:00
Jack Robison
e3265714ee
Merge remote-tracking branch 'origin/1193'
2018-05-29 15:25:17 -04:00
Jack Robison
4b766eeea9
Merge remote-tracking branch 'origin/linux_analytics'
2018-05-29 15:20:46 -04:00
Lex Berezhny
6a344539a0
moved import distro into conditional statement that only runs on Linux
2018-05-29 14:49:06 -04:00
Jack Robison
9b1e687b9b
pylint
2018-05-29 14:36:00 -04:00
Sergey Rozhnov
11b882879a
predictable result sorting for claim_list
and claim_list_mine
2018-05-29 13:07:11 -04:00
Lex Berezhny
09e272a642
style fix
2018-05-29 12:45:42 -04:00
Lex Berezhny
d950a62200
include the new linux analytics in track events
2018-05-28 18:47:56 -04:00
Lex Berezhny
1b027fae87
add some extra linux meta data to analytics
2018-05-28 18:07:23 -04:00
Jack Robison
187f920961
disable Daemon headers check for now
2018-05-28 10:57:48 -04:00
Jack Robison
6d4b678b96
Revert "WIP: feature/1098/sorted-claim-results"
2018-05-22 17:15:34 -04:00
kafene
76a7cc4e58
refactor file list sorting per request
2018-05-21 00:24:18 -04:00
kafene
1790393273
remove unused attrgetter import
2018-05-21 00:04:27 -04:00
kafene
5069351287
refactor file_list sort to allow sorting by any field
2018-05-21 00:04:27 -04:00
kafene
72bae90e06
use range instead of xrange, list is only 10 elements and range works in python3
2018-05-21 00:04:27 -04:00
kafene
852354719f
add unit test for file list sorting
2018-05-21 00:04:27 -04:00
kafene
eec3734d2f
some semantic variable renaing
2018-05-21 00:04:27 -04:00
kafene
e7b22521ee
remove pprint import
2018-05-21 00:04:27 -04:00
kafene
326d0cb8a3
initial naive implementation of file_list sorting
2018-05-21 00:04:21 -04:00
Sergey Rozhnov
13353bcfe4
refactored unit test for sort_claim_results
2018-05-18 18:51:28 +04:00
Sergey Rozhnov
40bcf96c3d
refactored sorting of claims and unit tests
2018-05-18 12:53:32 +04:00
Victor Shyba
b48492c1d6
verify streams on a new migration instead
2018-05-17 12:29:12 -03:00
Sergey Rozhnov
3d0f74c8ce
implemented additional test cases for claims sorting; updated changelog
2018-05-17 13:49:09 +04:00
Sergey Rozhnov
a7a5bb8887
simplified claims comparison logic; refactored unit tests
2018-05-17 13:36:32 +04:00
Sergey Rozhnov
208284a0f8
claim_list and claim_list_mine in Daemon return sorted results
2018-05-16 18:29:44 +04:00