Commit Graph

2624 Commits

Author SHA1 Message Date
Matt Joiner bbfc38c44a Fix call to wrong postCancel?
Looks like this would forget to also cancel the request on the peer, and only send the message.
2021-01-19 10:55:13 +11:00
Matt Joiner d56087441e Fix duplicate import under different aliases 2021-01-19 10:55:02 +11:00
Matt Joiner fdfd305a0c Update DHT 2021-01-18 14:48:30 +11:00
Matt Joiner cb1d6bfc8f Fix boundary conditions trimming sqlite3 storage cache 2021-01-18 14:48:30 +11:00
Justin M b6ad979670 Fix panic on Ping/WriteMessage for webtorrent
Introduced in anacrolix/torrent #455
2021-01-17 15:39:59 +11:00
Matt Joiner 69a419882b
Add link for @anacrolix 2021-01-07 09:50:46 +11:00
ucwong 52bb7f7a39 connection drop log debug level 2021-01-07 00:21:59 +11:00
Justin M f33b3ba5ce Ping websocket to ensure connect remains online.
OpenWebTorrent disconnects clients after two minutes of inactivity. In a scenario where an
announce occurs and no other activity occurs for the (default) 120-second idle timer, the
websocket will be torn down by OpenWebTorrent. This in turn causes the tracker client to wait one
minute, reconnect, and reannounce its peers.

This patch sends a websocket.PingMessage every 60 seconds to maintain the connection.
2021-01-06 14:30:01 +11:00
Matt Joiner ded6c19edb Add the DropMutuallyCompletePeers ClientConfig field 2021-01-05 16:58:45 +11:00
Justin M ae9d5bce18 Align webtorrent tracker to BEP-3
Adding "omitempty" to json marshalling, bringing the webtorrent tracker AnnounceRequest in line
with BEP-3, which states omitting the the "event" field is acceptable.
2021-01-05 11:38:39 +11:00
Justin M b2ab540f93 Reannounce webtorrent webrtc offers on reconnect
On socket reconnect, reannounce any webrtc offers that might have been half-open before the
socket reconnected. This implementation closes any existing half-open offers and republishes them,
but does nothing to existing webrtc connections which are still running (these are cleaned up
elsewhere and are not owned by this code)
2021-01-05 11:38:16 +11:00
Matt Joiner 133cc17c00 Some peerImpl observations 2021-01-04 15:51:23 +11:00
Matt Joiner 1e9d382af9 Reinstate cmd/announce announce subcommand 2021-01-04 13:37:44 +11:00
Matt Joiner be639852e3 mse: Optimize allocations receiving handshakes 2021-01-04 11:34:04 +11:00
Matt Joiner 176ba51313 Add benchmark for receiving handshakes with large skey counts 2021-01-04 11:33:46 +11:00
Matt Joiner 73823ee61d Add mse.ReceiveHandshakeEx 2021-01-04 10:49:28 +11:00
Matt Joiner ae9ad721f2 Upgrade github.com/frankban/quicktest 2021-01-04 10:39:28 +11:00
Matt Joiner 29cc20ede9 Fix "none" event for WebTorrent announces 2020-12-30 11:43:48 +11:00
Matt Joiner 6e43db6a89 Document ClientConfig.DisableAcceptRateLimiting 2020-12-21 19:12:50 +11:00
Matt Joiner 28cab41400 Merge branch 'v1.19'
* v1.19:
  Further fixes to webseed path encoding
  Update README.md
  Move request strategy doc comments onto their public functions
  Add deprecated ParseMagnetURI
2020-12-21 19:12:40 +11:00
Matt Joiner 41721f025d Further fixes to webseed path encoding 2020-12-21 12:24:24 +11:00
Matt Joiner aea8e1dfd0 Update README.md
Add Console 32 mention

(cherry picked from commit f3d3fd3724)
2020-12-21 10:18:00 +11:00
Matt Joiner ba68b56715 Move request strategy doc comments onto their public functions
(cherry picked from commit 8c059ae158)
2020-12-21 10:18:00 +11:00
Matt Joiner 0013035c93 Add deprecated ParseMagnetURI 2020-12-21 10:16:08 +11:00
Matt Joiner f3d3fd3724
Update README.md
Add Console 32 mention
2020-12-21 10:04:44 +11:00
Matt Joiner b2fd53f4ce Generalize internal/string-limiter Key type 2020-12-21 09:39:02 +11:00
Matt Joiner b67ccab7f2 Pass trackerScraper context to announces
This will cancel announces for Closed Torrents and let them move more quickly to announcing the stopped event. Spotted by @hwh33.
2020-12-21 09:29:20 +11:00
Matt Joiner 8c059ae158 Move request strategy doc comments onto their public functions 2020-12-19 14:43:21 +11:00
Matt Joiner ddd03362f8 Factor out internal/string_limiter 2020-12-17 12:22:02 +11:00
Matt Joiner d713aaf280 Rework active announce limiter to reduce contention 2020-12-15 15:29:45 +11:00
Matt Joiner de964db3c2 Don't send keepalives if a connection isn't useful to us
This might help break the situation where anacrolix/torrent Clients that are connected to each other never release a connection until there's new connections that look more promising.
2020-12-10 11:13:45 +11:00
Aranjedeath 8d27c02962 Update metainfo.go
delete "yoloham" so that is no longer the default comment string on torrents made without a comment specified. Should resolve https://github.com/anacrolix/torrent/issues/342
2020-12-10 10:12:33 +11:00
Matt Joiner c81da2d5ee Strictly adher to tracker announce response intervals if a torrent is private 2020-12-09 22:36:57 +11:00
Matt Joiner 65db2436fd cmd/torrent: Add spew-bencoding command 2020-12-09 20:01:53 +11:00
Matt Joiner 143bf42f5e cmd/torrent: Fix download command default flags 2020-12-09 20:01:33 +11:00
Matt Joiner 846fa3f1f6 Log announce return 2020-12-09 20:01:05 +11:00
Matt Joiner e67fe7ddca cmd/torrent: Add file pick flag 2020-12-09 20:00:42 +11:00
Matt Joiner c0db7e1c26 Update github.com/anacrolix/dht/v2 2020-12-09 19:59:38 +11:00
Matt Joiner 3178691f15 cmd/torrent: Use alexflint/go-arg for argument parsing
Also add list-files command to test it out.
2020-12-09 16:18:54 +11:00
Matt Joiner 29736f5153 Update required go version
I believe 1.15 is required for testing.T.TempDir.
2020-11-30 14:26:12 +11:00
Matt Joiner 388e6899a1 piece resource storage: Delete incomplete chunks concurrently after writing complete piece 2020-11-21 13:44:23 +11:00
Matt Joiner b35c204238 Use ConsecutiveChunkWriter in MarkComplete for piece resource storage if available 2020-11-21 13:44:23 +11:00
Matt Joiner 99ddad31c9 Track piece marking state separately 2020-11-21 13:44:23 +11:00
Matt Joiner 41ef267c1b sqlite storage: Ensure that chunks are consecutive 2020-11-21 13:44:23 +11:00
pataquets a7fcca7bc6 Readme: downstream projects info. 2020-11-19 07:40:13 +11:00
Matt Joiner 8ef37cb2e6 sqlite storage: Remove num batched write queries log message 2020-11-16 16:37:11 +11:00
Matt Joiner d84367c9a6 Update to race fixes in filecache and sqlite 2020-11-16 16:37:11 +11:00
Matt Joiner 258585fd8b sqlite storage: Buffer write requests 2020-11-16 16:37:11 +11:00
Matt Joiner b0ebc856d9 sqlite storage: Add some expvars 2020-11-16 16:37:11 +11:00
Matt Joiner e65fac26ac sqlite storage: Add error return from withConn 2020-11-16 16:37:11 +11:00