Alex Grin
|
6944c4a7c4
|
Update LICENSE
|
2022-05-17 12:16:00 -04:00 |
|
Victor Shyba
|
2735484fae
|
Merge pull request #3576 from lbryio/trackers
Add support for announcing and querying LBRY streams over BEP15 (BitTorrent Trackers)
|
2022-05-13 17:56:20 -03:00 |
|
Victor Shyba
|
03b0d5e250
|
tracker client: extract default timeout and concurreny. Bump concurrency to 100
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
629812337b
|
changes from review
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
e54cc8850c
|
return KademliaPeers directly into the queue instead of exposing Announcement abstraction
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
7cba51ca7d
|
update tests, query with port 0, filter bad ports earlier, make unit tests more reliable
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
3dc145fe68
|
make peer list query trackers
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
7d560df9fd
|
use same arg name as overriden datagram_received (linting)
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
b3f894e480
|
add integration test for tracker discovery
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
235cc5dc05
|
results are indexed by ip, setdefault after resolve
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
c276053301
|
move server implementation to tracker module
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
2e85e29ef1
|
peer id PREFIX is a constant
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
1169a02c8b
|
make client server updatable from conf
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
a7cea4082e
|
tracker:log DNS errors as warning instead of trace
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
7e6ea97499
|
make peer id according to BEP20
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
3c46cc4fdd
|
expire connection id quicker as some trackers have it set low
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
6e5c7a1927
|
use cache_concurrent to avoid requesting the same connection_id multiple times
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
4e09b35012
|
remove unused import and dead code
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
16a2023bbd
|
stop tasks before removing transport
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
99fc7178c1
|
better way to batch announce + handle different intervals for different trackers
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
d4aca89a48
|
handle multiple results from multiple trackers
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
2918d8c7b4
|
tracker component is running only if the task is alive
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
407c570f8b
|
tests: lower timeout, add test with bad and good mixed
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
e299a9c159
|
tests: multiple trackers, simple case
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
cc4a578578
|
tests: add support for multiple trackers
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
0e4f1eae5b
|
reduce timeout to 10, fix lints
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
eccf0e6234
|
fix reusing result interval from failed expired attempt
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
a3da041412
|
fix exceptions on shutdown, stop using cancel_tasks
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
2f1617eee4
|
less verbose on timeouts, dont count timeouts, fix stop
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
05124d41ae
|
only log when really announcing, stop counting cached ones
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
42fd1c962e
|
stop tracker tasks on shutdown
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
47e432b4bb
|
make it less verbose, only log after all events are fired
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
61c99abcf1
|
avoid readding the same hash when tracker is busy with too many files
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
28fdd62945
|
move concurreny control to lower layer
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
3855db6c66
|
pause announcer for 1 minute each round
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
30acde0afc
|
at most 10 announces concurrently
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
2d9c5742c7
|
cache results, save interval on tracker
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
43e50f7f04
|
fix subscribe_hash
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
888e9918a6
|
improve timeout handling
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
9e9a64d989
|
evented system for tracker announcements
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
7acaecaed2
|
managed_stream: remove unused imports
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
24eb189b7f
|
skip component on test cli
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
2344aca146
|
fix component property
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
758f9deafe
|
fix unit tests
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
7b425eb2ac
|
add tracker announcer component
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
30e8728f7f
|
use tracker on download
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
3989eef84b
|
return whole announcement so the caller knows the interval
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
dc6f8c4fc4
|
add arg to announce stopped, removing the announcement
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
2df8a1d99d
|
make a helper function to announce
|
2022-05-11 21:13:30 -03:00 |
|
Victor Shyba
|
4ea858fdd3
|
add new conf: tracker_servers
|
2022-05-11 21:13:30 -03:00 |
|