Commit graph

2584 commits

Author SHA1 Message Date
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
Victor Shyba
b6cedfec56 batch-start the file manager 2018-05-11 12:17:55 -03:00
Victor Shyba
ca86af736e add batching support to get_supports and tests 2018-05-11 12:17:55 -03:00
Victor Shyba
d55ded78ee get claim with channel_name from a stream hash in a single query 2018-05-11 12:17:55 -03:00
Victor Shyba
acd330aa2a get claim info and channel name using a single query 2018-05-11 12:17:55 -03:00
Victor Shyba
df735252e5 verify streams only after migration 2018-05-11 12:17:55 -03:00
Jack Robison
b3bf193188
Merge remote-tracking branch 'origin/treq_and_cryptography' 2018-05-11 09:22:28 -04:00
Victor Shyba
a0a7187f7d add integrity checks after s3 download as well 2018-05-08 16:09:06 -03:00
Jack Robison
aa4240de85
track successful reflector uploads in sqlite to minimize how many streams are attempted by auto re-reflect
-increase the default `auto_re_reflect_interval` to a day
2018-05-08 14:41:56 -04:00
Victor Shyba
2299098884 add integrity check for the headers file 2018-05-07 15:10:19 -03:00
Victor Shyba
fd04c607b2 typos and fixes from code review 2018-05-07 13:11:31 -03:00
Victor Shyba
805bfbd18e remove point trader testing client 2018-05-07 11:49:54 -03:00
Victor Shyba
3ee0f9756d add treq as a dependency + pep8 2018-05-05 20:58:10 -03:00
Victor Shyba
c90140f701 make the exchange manager use treq instead of requests 2018-05-05 02:33:37 -03:00
Victor Shyba
e170f3db3e remove txrequests dependency 2018-05-05 02:20:21 -03:00
Victor Shyba
7f88dda0ae use treq on loggly 2018-05-05 02:18:03 -03:00
Victor Shyba
0bf65836c7 resume download from S3 instead of starting from scratch 2018-05-05 02:05:02 -03:00
Victor Shyba
3982e15091 download headers from s3 using treq 2018-05-05 01:16:26 -03:00
Victor Shyba
d03fc80eac make analytics use treq 2018-05-05 00:50:42 -03:00
Victor Shyba
fab932abb6 replace pycrypto->cryptography 2018-05-04 23:56:51 -03:00
Victor Shyba
b389e59452 replace pycrypto->cryptography on tests 2018-05-04 22:12:43 -03:00
Jack Robison
cc34c4b95f
Merge pull request #1189 from lbryio/faster-headers
magic
2018-05-04 11:10:43 -04:00
Thomas Zarebczan
df2339231a
magic 2018-05-04 00:47:08 -04:00
Jack Robison
6977d6944e
show local, remote, and s3 header heights in the log 2018-05-02 17:25:00 -04:00
Jack Robison
f1e3682302
socket might not have TCP_KEEPx attributes 2018-05-02 17:16:00 -04:00
Jack Robison
f42733ecba
fix tests 2018-05-02 15:00:57 -04:00
Jack Robison
129d2687b9
download headers from s3 when more than 10 chunks behind 2018-05-02 15:00:50 -04:00
Jack Robison
1f1b348638
fix handling ancient non-decodable claims 2018-04-19 17:37:23 -04:00
Jack Robison
8b7e86e046
fix appveyor? 2018-04-19 17:36:26 -04:00
Jack Robison
fe6a850fc5
appveyor 2018-04-19 17:11:27 -04:00
Jack Robison
9c25a37d4d
Bump version 0.20.0rc8 --> 0.20.0rc9
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-19 17:04:48 -04:00
Jack Robison
1e87767a0c
fix appveyor 2018-04-19 16:56:48 -04:00
Jack Robison
487ef6516e
fix reflector test 2018-04-19 16:35:15 -04:00
Jack Robison
4a1f3a79a5
fix mock announcer 2018-04-19 16:18:19 -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
baf55165aa
lint 2018-04-19 14:35:11 -04:00
Jack Robison
769bc2e36e
Revert "elif"
This reverts commit c3e047a2aa.
2018-04-19 14:34:49 -04:00
Alex Grintsvayg
c3e047a2aa elif 2018-04-19 13:47:24 -04:00
Jack Robison
1c793931ed
Bump version 0.20.0rc7 --> 0.20.0rc8
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-19 12:31:54 -04:00
Jack Robison
fa49b40389
fix claim_show 2018-04-19 12:31:36 -04:00
Jack Robison
89b4487eb9
Bump version 0.20.0rc6 --> 0.20.0rc7
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-19 11:05:42 -04:00
Jack Robison
450bed6350
fix kwargs bug 2018-04-19 11:00:44 -04:00
Alex Grintsvayg
f8e418fb44 undeprecated report_bug while app team works on a new bug reporting flow 2018-04-18 14:58:58 -04:00
Jack Robison
2655797692
move docs tests to own file 2018-04-12 14:04:22 -04:00
Niko
c089f1954a
fix documentation for blob_reflect 2018-04-12 13:27:06 -04:00
Niko
0a14d51b96
fix documentation for peer_ping command 2018-04-12 13:08:58 -04:00
Jack Robison
bb7e17e54a
Bump version 0.20.0rc5 --> 0.20.0rc6
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-03 13:21:17 -04:00
Jack Robison
5cea031f38
return list of dictionaries from peer_list, include peer node ids 2018-04-03 13:10:30 -04:00
Jack Robison
2903ccaeb4
add peer_ping 2018-04-03 13:10:30 -04:00
Jack Robison
eae97a8133
off by one 2018-04-03 13:08:36 -04:00
Jack Robison
bc3128ae3b
Bump version 0.20.0rc4 --> 0.20.0rc5
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-03 12:34:45 -04:00
Jack Robison
4e7bdafdcf
fix positional and keyword args 2018-04-03 12:27:49 -04:00
Jack Robison
12d378af13
show not connected error in lbrynet-cli when using auth 2018-04-03 12:25:18 -04:00
Jack Robison
ca73d632d3
Bump version 0.20.0rc3 --> 0.20.0rc4
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-04-02 10:13:02 -04:00
Jack Robison
743ae59d54
fix lbrynet-cli when using authentication
-add explanation of daemon authentication to AuthJSONRPCServer docstring
-remove auth_required decorator, use auth for all api methods if use_authentication is true
-fix issues with the command line --http-auth flag to lbrynet-daemon and the use_http_auth setting in the config file
2018-04-01 18:31:03 -04:00
Jack Robison
ea5190aa9a
Bump version 0.20.0rc2 --> 0.20.0rc3
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 15:06:41 -04:00
Jack Robison
51662b1e5b
re-add hash_queue_size function 2018-03-29 15:06:08 -04:00
Jack Robison
789ca3693f
Bump version 0.20.0rc1 --> 0.20.0rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 12:20:54 -04:00
Jack Robison
8c2b626f97
fix cli kwargs 2018-03-29 12:19:41 -04:00
Jack Robison
0279d37b32
fix status docstring 2018-03-29 12:19:18 -04:00
Jack Robison
f4aca40ff9
Bump version 0.19.3rc2 --> 0.20.0rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 09:55:34 -04:00
Jack Robison
08e9f9ac0e
Bump version 0.19.3rc1 --> 0.19.3rc2
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-29 09:50:14 -04:00
Jack Robison
9a9b2f47ce
pass sd_hash to reflector client factory instead of looking it up 2018-03-29 09:46:34 -04:00
Jack Robison
b9600101ae
Bump version 0.19.2 --> 0.19.3rc1
Signed-off-by: Jack Robison <jackrobison@lbry.io>
2018-03-28 19:36:39 -04:00
Jack Robison
492858596e
add single_announce column to blob table
-remove deprecated blob_announce_all function
-remove announce_all parameter to blob_announce
-change blob_announce to be asynchronous
2018-03-28 18:50:24 -04:00
Jack Robison
dff1fd3fe9
logging, raise default concurrent announcers 2018-03-28 18:50:24 -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
a41bbd5e27
pylint and tests 2018-03-28 18:50:18 -04:00
Jack Robison
43d3f7c087
add concurrent_announcers to config 2018-03-28 15:53:51 -04:00
Jack Robison
c5bf64cf0a
refactor DHTHashAnnouncer
-remove hash_announcer from Node and DiskBlobManager
-remove announcement related functions from DiskBlobManager
-update SQLiteStorage to store announcement times and provide blob hashes needing to be announced
-use dataExpireTimeout from lbrynet.dht.constants for re-announce timing
-use DeferredSemaphore for concurrent blob announcement
2018-03-28 15:53:51 -04:00
Jack Robison
ea0ea704a2
refactor iterativeAnnounceHaveBlob
-change to only self_store if the number of contacts to store to is less than k and we are the closest node to the hash
2018-03-28 15:53:51 -04:00
Jack Robison
14f9bb7b82
log EWOULDBLOCK 2018-03-28 15:53:51 -04:00
Jack Robison
a8025b02c6
log invalid vs missing token 2018-03-28 15:53:51 -04:00
Jack Robison
333d70860b
add last_announced_time to blob table 2018-03-28 15:53:50 -04:00
Lex Berezhny
267f50474b
removing more references to PTCWallet 2018-03-28 15:53:50 -04:00
Lex Berezhny
866f220d9b
removed PTCWallet 2018-03-28 15:53:50 -04:00
Jack Robison
a96d827c0f
use reactor time in Delay 2018-03-28 15:53:50 -04:00
Jack Robison
4eab77fa10
safe start_listening 2018-03-28 15:53:50 -04:00
Jack Robison
5013426e02
logging and docstring 2018-03-28 15:53:50 -04:00
Jack Robison
cb09be5336
remove unused stuff 2018-03-28 15:53:50 -04:00
Lex Berezhny
339e666f38
+ Wallet.wait_for_tx_in_wallet 2018-03-28 15:53:49 -04:00
Jack Robison
ebe5dd0e68
better ping test 2018-03-28 15:53:49 -04:00
Jack Robison
1db44d5fb6
rename variable 2018-03-28 15:53:49 -04:00
Jack Robison
fd7a771f66
add sanity check to CreateEncryptedFileTest 2018-03-28 15:53:49 -04:00
Jack Robison
5628d0825b
add CallLaterManager 2018-03-28 15:53:49 -04:00
Jack Robison
88970cb0a8
move peer manager class to lbrynet.core 2018-03-28 15:53:49 -04:00
Jack Robison
d2a6dd3ed3
add dht functional tests 2018-03-28 15:53:49 -04:00
Jack Robison
1eff35ce76
update dht unit tests to use task.Clock 2018-03-28 15:53:49 -04:00
Jack Robison
0ab5dd28bc
update tests 2018-03-28 15:53:48 -04:00
Jack Robison
2e30ce9ae5
add mock udp transport layer 2018-03-28 15:53:48 -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
df78f7ff9f
add response assertion to announce_to_peer 2018-03-28 15:53:48 -04:00