Matt Joiner
c6ee03f449
gofumpt
2021-11-08 14:47:01 +11:00
Matt Joiner
e7426133e2
Quote webrtc offer ID as ASCII-only
2021-10-25 21:03:51 +11:00
Matt Joiner
e178f99f35
Fix race running and closing webtorrent tracker clients
2021-10-25 16:15:42 +11:00
Matt Joiner
bdcba73cf9
Fix race in webtorrent dial stats
2021-05-14 15:42:25 +10:00
Sean DuBois
8749bd9697
Upgrade to pion/webrtc@v3
2021-02-21 13:46:37 -08:00
Shubhendra Singh Chauhan
0cdb33ede0
fixed code quality issues using DeepSource
...
* Added .deepsource.toml
* Removed empty default in select
* Removed unnecessary use of slice
* Fixed check for empty string
2021-01-30 15:23:49 +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
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
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
c3696aa5a4
Fix race in webtorrent.TrackerClient.Run
2020-06-01 11:11:41 +10:00
Matt Joiner
cc5d2abe18
doc comment
2020-05-05 09:00:43 +10:00
Matt Joiner
54d55db108
webtorrent: Synchronize access to PeerConnection.Close
2020-05-03 18:45:12 +10:00
Matt Joiner
f36fc10079
Fix crash when announcing unloaded torrent to websocket
2020-05-03 14:10:46 +10:00
Matt Joiner
188aa800b2
Adjust websocket tracker logging levels
2020-04-28 09:14:24 +10:00
Matt Joiner
3226dc1ccd
Rename per-torrent ws tracker and output stats
2020-04-22 11:42:31 +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
520d3c38e3
Fix some webtorrent PeerConnection leaks
2020-04-20 10:21:31 +10:00
Matt Joiner
d05ce2d274
Update anacrolix/log
2020-04-16 17:20:58 +10:00
Matt Joiner
0123f5e6f6
More error handling and logging clean up
2020-04-14 10:47:26 +10:00
Matt Joiner
05e448d132
webtorrent logging improvements
2020-04-13 19:13:23 +10:00
Matt Joiner
93366bb63a
Rename webtorrent.NewClient->NewTrackerClient
2020-04-13 19:12:54 +10:00
Matt Joiner
e5fd9ede54
Tidy up the webtorrent package, remove buffer
2020-04-13 14:31:39 +10:00
Matt Joiner
1b3cbc1287
Improve webtorrent tracker client logging
2020-04-13 14:17:46 +10:00
Matt Joiner
f45dac1e38
Use offer_id for webrtc conn string
2020-04-13 14:04:34 +10:00
Matt Joiner
6f2c65fe33
Big tidy up of webtorrent code
2020-04-07 14:30:27 +10:00
Matt Joiner
bcdccb1ff3
Refactoring in webtorrent.Transport
2020-04-07 12:17:21 +10:00
Matt Joiner
27bfdd0dbf
Create peer connections when WebRTC connections obtain a data channel
2020-04-07 10:59:10 +10:00
Matt Joiner
77cbbec926
Start using the webtorrent package
2020-04-06 16:45:47 +10:00
Matt Joiner
ae4e5270c2
Fix formatting directives
2020-04-06 14:14:13 +10:00
Matt Joiner
fe2fb69ed8
Import code https://github.com/backkem/gowttest
2020-04-05 13:55:14 +10:00