Matt Joiner
c1d189ed31
Performance improvements to PEX
2020-10-23 08:58:55 +11:00
Matt Joiner
417d7d1d48
Tweaks to storage error and completion handling
2020-10-11 12:54:03 +11:00
Matt Joiner
01dfc28484
Set tracker announce timeout back to default
...
Add lots of comments about how this works and why.
2020-10-01 11:45:47 +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
12ace95493
Tidy up webseed peer naming and unused types
2020-06-04 11:58:18 +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
ucwong
645901636d
torrent : add udp scheme to 'switch case'
2020-06-04 10:37:50 +10:00
Maxb
a7689f52bd
Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup
2020-06-04 10:36:56 +10:00
Matt Joiner
8606385985
Merge pull request #410 from anacrolix/webseeds
...
* Rename Peer to PeerInfo, and unexport PeerInfos
* Break peer out from PeerConn
* Abstract out segments mapping and use it in mmap storage
* Got file storage working with segment index
* Fix race in webtorrent.TrackerClient.Run
* storage file implementation: Error on short writes
* Remove debug logging from storage file implementation
* cmd/torrent-verify: Fix piece hash output
* Support disabling webtorrent
* Further progress on webseeding
* Handle webseed Client events
* Rename fastestConn->fastestPeer
* Add webseeds from magnet links
* Remove events from webseed
Manage this stuff inside the webseed peer instead.
* Make use of magnet source fields and expose Torrent.MergeSpec
* Add option to disable webseeds
* Fix webseeds when info isn't available immediately
* Handle webseed request errors
* Tidy up the interface changes
2020-06-03 11:25:08 +10:00
Matt Joiner
8a2ff43246
Tidy up the interface changes
2020-06-02 17:41:59 +10:00
Matt Joiner
7909084a17
Fix webseeds when info isn't available immediately
2020-06-02 16:18:25 +10:00
Matt Joiner
72bd4f362e
Add option to disable webseeds
2020-06-02 16:17:32 +10:00
Matt Joiner
054ea59e6d
Remove events from webseed
...
Manage this stuff inside the webseed peer instead.
2020-06-02 13:54:26 +10:00
Maxb
d7627143bc
Add per-torrent ability to disable uploading
2020-06-02 11:20:39 +10:00
Matt Joiner
eb8688a902
Rename fastestConn->fastestPeer
2020-06-01 19:09:17 +10:00
Matt Joiner
5602ecd810
Handle webseed Client events
2020-06-01 18:41:21 +10:00
Matt Joiner
ff53ab860c
Further progress on webseeding
2020-06-01 18:25:45 +10:00
Matt Joiner
67c9021e97
Support disabling webtorrent
2020-06-01 18:24:46 +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
3d1f08b12f
Save progress
2020-05-30 17:52:27 +10:00
Matt Joiner
de88c620bc
Seperate peer and PeerConn
2020-05-30 15:18:28 +10:00
Matt Joiner
cb37a914c1
Rename Peer to PeerInfo, and unexport PeerInfos
2020-05-29 19:44:48 +10:00
Matt Joiner
e33d773391
Don't error on setting info when we already have it
2020-05-19 15:22:58 +10:00
Matt Joiner
91afef8733
Fix https://github.com/anacrolix/torrent/issues/388
2020-05-19 15:00:08 +10:00
Matt Joiner
78d14c78d2
Fix panic caused by adding disabled udp trackers
2020-05-19 12:44:42 +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
15fff58d7b
Rework tracker status lines
2020-04-28 09:13:44 +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
c074b30d94
Log webrtc connection errors and rework webtorrent.TrackerClient
2020-04-20 13:42:25 +10:00
Matt Joiner
4a2802a702
Logging fixes
2020-04-18 17:45:01 +10:00
Matt Joiner
d05ce2d274
Update anacrolix/log
2020-04-16 17:20:58 +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
Matt Joiner
5f47e808fb
Update the peersAddedBySource expvar
2020-04-16 11:56:58 +10:00
Matt Joiner
c27e3f8de3
Merge branch 'webtorrent'
2020-04-15 17:26:46 +10:00
Matt Joiner
92162295af
Clone the AnnounceList out of Torrent.Metainfo
...
Should fix a race with Torrent.AddTrackers
2020-04-15 17:26:02 +10:00
Yaroslav Kolomiiets
2b2c480706
PEX: add periodic deltas
2020-04-15 17:24:44 +10:00
Yaroslav Kolomiiets
93430aa01a
PEX: add connection tracking
2020-04-15 17:24:44 +10:00
Yaroslav Kolomiiets
634edd2875
Share current connections with peers over PEX (anacrolix#341)
2020-04-15 17:24:44 +10:00
Matt Joiner
f90cbcce20
Fix locks around Torrent.announceRequest
2020-04-13 19:13:59 +10:00