2
0
mirror of synced 2025-02-24 06:38:14 +00:00

2339 Commits

Author SHA1 Message Date
Matt Joiner
ccc71463b9 Expose metainfo.GeneratePieces 2020-05-13 14:33:26 +10:00
Matt Joiner
533fec840a cmd/tracker-announce: Rework for better utility in shell scripts 2020-05-12 11:31:56 +10:00
Matt Joiner
cc5d2abe18 doc comment 2020-05-05 09:00:43 +10:00
Matt Joiner
4eee1ba261 Fix benchmark failing due to mainReadLoop returning io.EOF 2020-05-03 19:31:20 +10:00
Matt Joiner
8b6c26b912 Pull fix to panic in pion/ice
https://github.com/pion/ice/issues/182
2020-05-03 18:51:09 +10:00
Matt Joiner
54d55db108 webtorrent: Synchronize access to PeerConnection.Close 2020-05-03 18:45:12 +10:00
Matt Joiner
11e13ac8c1 cmd/torrent: Output stats on termination, not just completion 2020-05-03 18:42:37 +10:00
Matt Joiner
90bbdf9adb cmd/torrent: Add download -pex flag
For testing with https://github.com/anacrolix/torrent/issues/402.
2020-05-03 18:42:03 +10:00
Matt Joiner
11a373200f cmd/torrent: Only output progress lines when they change
This stops spamming output when seeding.
2020-05-03 18:41:33 +10:00
Matt Joiner
9edd98ad78 Close PeerConn.conn synchronously 2020-05-03 18:40:40 +10:00
Matt Joiner
a7b665873c Propagate and log more connection read/write errors now that logging is a bit fancier 2020-05-03 18:40:09 +10:00
Matt Joiner
dad5ab89a5 Limit the write buffer to work around a webrtc datachannel issue
https://github.com/pion/datachannel/issues/59. Fixes https://github.com/anacrolix/torrent/issues/402.
2020-05-03 18:39:16 +10:00
Matt Joiner
39171df0c6 Fix PeerConn outgoing field for webrtc
Due to jumping straight into handshakes, outgoing=true was assumed. This didn't actually solve the issue I thought it might, but is important for determining "preferred" connection direction, which may result in dropping connections.
2020-05-03 18:37:26 +10:00
Matt Joiner
658422e584 go get -u ./... && go mod tidy
Not including bazil.org/fuse though.
2020-05-03 14:10:46 +10:00
Matt Joiner
ae9aaaaa20 Use anacrolix/log in storage completion 2020-05-03 14:10:46 +10:00
Matt Joiner
f36fc10079 Fix crash when announcing unloaded torrent to websocket 2020-05-03 14:10:46 +10:00
Yaroslav Kolomiiets
b4e10e00a9 add BEP references to documentation of the metadata fields 2020-05-03 14:06:24 +10:00
Matt Joiner
04ff050ecd Disable keepalives for http trackers
Should work around an issue with S3 trackers holding connections open for very long periods.
2020-04-28 09:15:06 +10:00
Matt Joiner
188aa800b2 Adjust websocket tracker logging levels 2020-04-28 09:14:24 +10:00
Matt Joiner
15fff58d7b Rework tracker status lines 2020-04-28 09:13:44 +10:00
Matt Joiner
cad8802e9c Update all dependencies 2020-04-23 13:09:27 +10:00
Matt Joiner
3e9a5a4aec Expose ClientConfig.Extensions
Also run the storage failure test with fast disabled for the seeder. This probably would have tickled some issues in the past, so it seems like a good place to try it out.
2020-04-23 13:03:40 +10:00
Matt Joiner
86d5ad4b2c Don't delete requests if we're choked per BEP 6
This should make the expected receive chunk counts match up more correctly. It doesn't seem to affect tests at the moment, but then we don't verify the expected receive chunk counts are correct either.
2020-04-23 12:36:19 +10:00
Matt Joiner
12e377e3fe Count expected received chunks instead of flagging them
This can be racy. In the TestReceiveChunkStorageFailure, when we have a storage write failure, we request the chunk again, but the peer has sometimes already sent it, and we return from the connection read loop with unexpected chunk after receiving it twice.
2020-04-23 12:34:43 +10:00
Matt Joiner
03887dbc80 Close leaked Clients in test 2020-04-23 12:28:48 +10:00
Matt Joiner
f432430256 Use anacrolix/log in test 2020-04-23 11:30:19 +10:00
Matt Joiner
8c8c799612 Update to the most recent bazil.org/fuse that supports MacOS 2020-04-23 11:26:22 +10:00
Matt Joiner
3226dc1ccd Rename per-torrent ws tracker and output stats 2020-04-22 11:42:31 +10:00
Matt Joiner
a5db7a7fa6 Remove websocket tracker logging level override 2020-04-22 11:41:12 +10:00
Matt Joiner
0ab6d108be Pool webtorrent tracker websockets at the Client level 2020-04-21 18:08:43 +10:00
Matt Joiner
cc69c3ec8f New metrics and log change 2020-04-20 14:00:29 +10:00
Matt Joiner
fb6af2a426 Remove unused outbound offer answered field 2020-04-20 14:00:10 +10:00
Matt Joiner
c074b30d94 Log webrtc connection errors and rework webtorrent.TrackerClient 2020-04-20 13:42:25 +10:00
Matt Joiner
4045e235a8 Update anacrolix/missinggo/v2 import 2020-04-20 13:41:32 +10:00
Matt Joiner
520d3c38e3 Fix some webtorrent PeerConnection leaks 2020-04-20 10:21:31 +10:00
Matt Joiner
079f346ca9 Readability 2020-04-19 11:30:48 +10:00
Matt Joiner
4a2802a702 Logging fixes 2020-04-18 17:45:01 +10:00
Matt Joiner
013fa1df5a Fix transfer test check for seeder piece counts
I suspect that there's a race where a connection is established to the seeder, but we haven't received it's completed piece information yet, and we already finished reading all the data we need from another connection. Probably comes up now because pending peers with the same address aren't clobbering each other since that was fixed.
2020-04-17 11:40:25 +10:00
Yaroslav Kolomiiets
dad28e674e cmd/torrent: add -ipv4/-ipv6 options 2020-04-17 11:06:50 +10:00
Matt Joiner
48bea90f0a Pull anacrolix dht and upnp log level handling updates 2020-04-16 17:51:57 +10:00
Matt Joiner
2f3d41765b Fix race in Torrent.PeerConns 2020-04-16 17:21:15 +10:00
Matt Joiner
d05ce2d274 Update anacrolix/log 2020-04-16 17:20:58 +10:00
Matt Joiner
5b0c46cd54 Fix false positive Goland code lint 2020-04-16 14:52:52 +10:00
Matt Joiner
e5f7765dfa Fix small cache transfer tests
Since hashing Peer Addrs in the Torrent pending peers, clients are getting more than one connection to the seeder in the tests and failing.
2020-04-16 14:12:17 +10:00
Matt Joiner
c2210c058c Fix pending peer counts in transfer tests
Also expose number of peers successfully added in some method returns.
2020-04-16 14:09:45 +10:00
Matt Joiner
070e11a0dd Adjust recently added logging 2020-04-16 12:17:18 +10:00
Matt Joiner
730cebf5aa Only announce to DHT if we have dialers or listeners 2020-04-16 12:03:27 +10:00
Matt Joiner
eec337d4bc Set tracker announce numWant to 0 if we're unable to dial 2020-04-16 12:02:34 +10:00
Matt Joiner
74986db9ed Don't try to do conventional dials if we have no dialers
Stops us from consuming all the peers we store for no reason.
2020-04-16 12:00:49 +10:00
Matt Joiner
6a86e9e999 Include hashed addr when comparing prioritized peers
In particular, fixes the issue where peers where can't calculate a priority and fallback on 0 clobber each other.
2020-04-16 11:59:31 +10:00