Matt Joiner
b2fd53f4ce
Generalize internal/string-limiter Key type
2020-12-21 09:39:02 +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
0d40c4bac2
Read peer request data without Client lock
2020-11-16 16:37:11 +11:00
Matt Joiner
b020b8c2b6
Add support for the x.pe magnet link parameter
2020-11-16 16:37:11 +11:00
Matt Joiner
e6da640bb2
Tidy up doc, file names, naming
2020-11-09 10:56:45 +11:00
Matt Joiner
131037dd9f
Add the ReceiveEncryptedHandshakeSkeys callback
2020-11-05 13:28:45 +11:00
Matt Joiner
8088002ba6
Fix error handling for bad torrent adds with safe file handling
2020-10-15 16:03:43 +11:00
Matt Joiner
4a4cb5dc58
Ensure PeerConn._close is called for incoming connections
...
This fixes missing calls to PeerConnClosed callback.
2020-10-14 15:11:45 +11:00
Matt Joiner
6ed1062176
Fix some log levels
2020-10-12 17:12:34 +11:00
Matt Joiner
a9102abf1d
Tidy up some logging
2020-10-10 10:24:58 +11:00
Matt Joiner
3d7ac87e3b
Expose Client.ConnStats
2020-10-01 11:20:44 +10:00
Matt Joiner
a3827099c4
Limit simultaneous announces to the same URL
2020-10-01 10:43:10 +10:00
Matt Joiner
a2c7b384df
Limit half-open connections at the Client level
2020-09-30 16:56:27 +10:00
Matt Joiner
1cdae13700
Fix conn status string for WebRTC connections
2020-09-29 16:21:54 +10:00
Matt Joiner
9d0ea15044
Expose peer.RemoteAddr
2020-07-15 16:16:14 +10:00
Matt Joiner
7ee0fdafe3
Add some client callbacks
2020-07-15 16:16:14 +10:00
Matt Joiner
e81d8890dd
Don't filter context cancel errors
...
The caller thinks this means it succeeded, when it fact it was cancelled and it should interpret that appropriately.
2020-06-19 11:41:26 +10:00
Matt Joiner
62e7f29a0c
Fix panic in webseed request rejection logging
...
Also use a new helper in Logger to simplify things.
2020-06-04 11:51:17 +10:00
Maxb
a7689f52bd
Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup
2020-06-04 10:36:56 +10:00
Matt Joiner
8a2ff43246
Tidy up the interface changes
2020-06-02 17:41:59 +10:00
Matt Joiner
997384a394
Make use of magnet source fields and expose Torrent.MergeSpec
2020-06-02 15:06:05 +10:00
Matt Joiner
026c737886
Add webseeds from magnet links
2020-06-02 13:53:25 +10:00
Matt Joiner
ff53ab860c
Further progress on webseeding
2020-06-01 18:25:45 +10:00
Matt Joiner
69a0f2f1e4
Got file storage working with segment index
2020-06-01 00:14:51 +10:00
Matt Joiner
317146dec9
Export PeerImpl and all its methods
2020-05-31 13:22:36 +10:00
Matt Joiner
3f8f6e1733
Got things compiling
2020-05-31 13:09:56 +10:00
Matt Joiner
de88c620bc
Seperate peer and PeerConn
2020-05-30 15:18:28 +10:00
Matt Joiner
02adc3f2ee
Break peer out from PeerConn
2020-05-30 10:14:20 +10:00
Matt Joiner
cb37a914c1
Rename Peer to PeerInfo, and unexport PeerInfos
2020-05-29 19:44:48 +10:00
Matt Joiner
461403c0f5
Fix Client torrent "of %d bytes" in status
2020-05-13 17:32: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
f36fc10079
Fix crash when announcing unloaded torrent to websocket
2020-05-03 14:10:46 +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
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
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
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
d4430e89b6
Fix crash with conventional trackers when tcp and utp are disabled
...
Fixes #396 .
2020-04-16 10:27:17 +10:00
Matt Joiner
f45dac1e38
Use offer_id for webrtc conn string
2020-04-13 14:04:34 +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
378ccd0932
Logging improvements for DHT
2020-03-17 13:48:09 +11:00
Matt Joiner
c83738f3f4
Update to latest anacrolix/dht
2020-03-17 13:47:53 +11:00
Matt Joiner
7fe199992c
Use stable bit set for pending pieces PriorityBitmap
...
Fixes #382 .
2020-02-27 18:33:44 +11:00
Matt Joiner
ddc61845ac
Misc cleanup
2020-02-22 19:38:56 +11:00
Matt Joiner
c855c7a366
Differentiate between storage.ClientImpl{,Closer}
2020-02-21 14:12:44 +11:00
Matt Joiner
ddddc63924
Expose PeerConn.PeerPieces
...
Fixes #375 .
2020-02-21 11:51:24 +11:00
Matt Joiner
dff436f102
Rename connection->PeerConn and fix exports
2020-02-21 11:07:50 +11:00