2
0
mirror of synced 2025-02-24 22:58:28 +00:00

2411 Commits

Author SHA1 Message Date
Matt Joiner
898260c177 Tidy up some storage close handling 2020-10-11 12:40:43 +11:00
Matt Joiner
3d7a95a65d Use testing.T.Name instead of missinggo.GetTestName
This handles subtests correctly, and removes the need to specify when to export due to collisions with the old function.
2020-10-10 10:59:17 +11:00
Matt Joiner
a9102abf1d Tidy up some logging 2020-10-10 10:24:58 +11:00
Matt Joiner
d3daaaf75a Fix webseed requests for non-trivial path components 2020-10-07 10:22:55 +11:00
Matt Joiner
014cb3986b Fix PeerConn conn status string 2020-10-06 09:50:47 +11:00
Matt Joiner
14f2e8087e Fix unused import 2020-10-01 11:50:42 +10: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
3d7ac87e3b Expose Client.ConnStats 2020-10-01 11:20:44 +10:00
Matt Joiner
93685a55fe Include ip param in http announces 2020-10-01 10:46:27 +10:00
Matt Joiner
e1d59f791e Pass key param in http announces 2020-10-01 10:45:29 +10:00
Matt Joiner
010362ec82 Rework HTTP announce timeouts
Use Request.Context to implement timeouts, set the default to 3s for announces from the Client.
2020-10-01 10:45:05 +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
f5c6f28985 Rename struct size test 2020-09-29 16:42:52 +10:00
Matt Joiner
808fd4b382 Optimize padding on Piece 2020-09-29 16:37:58 +10:00
Matt Joiner
c2ba2aa417 Add a test for Piece size 2020-09-29 16:24:43 +10:00
Matt Joiner
1cdae13700 Fix conn status string for WebRTC connections 2020-09-29 16:21:54 +10:00
Matt Joiner
4dee11efe9 Fix panic for unexpected piece rejections
Should fix #419.
2020-09-03 14:34:06 +10:00
Matt Joiner
e992bb78b9
Add to downstream projects in README
CortexFoundation/torrentfs
2020-08-11 11:43:12 +10:00
Matt Joiner
dd906f8fa7 Add ReadExtendedHandshake callback 2020-07-15 16:16:14 +10:00
Matt Joiner
9d0ea15044 Expose peer.RemoteAddr 2020-07-15 16:16:14 +10:00
Matt Joiner
7455b98a0f Switch to crawshaw.io/sqlite
I'm using it elsewhere, and it seems to conflict when linking with github.com/mattn/go-sqlite3.
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
70504464ec
Add PkgGoDev badge 2020-07-15 08:39:44 +10:00
Matt Joiner
8a98866d06 Pull in go-libutp fix for race 2020-07-10 13:24:08 +10:00
Matt Joiner
fde583e51e Support -testPeer addresses that need resolving
Fixes #395.
2020-07-10 13:21:24 +10:00
Matt Joiner
4e541951eb Handle errors in webseed peers for bad URLs 2020-07-10 13:18:33 +10:00
Matt Joiner
dd51e99b88 Update bbolt 2020-06-19 12:24:03 +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
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
d5a482e209 Handle webseed request errors 2020-06-02 16:41:49 +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
997384a394 Make use of magnet source fields and expose Torrent.MergeSpec 2020-06-02 15:06:05 +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
Matt Joiner
026c737886 Add webseeds from magnet links 2020-06-02 13:53:25 +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
cf6d161256 cmd/torrent-verify: Fix piece hash output 2020-06-01 11:16:17 +10:00
Matt Joiner
235c67a6ec Remove debug logging from storage file implementation 2020-06-01 11:12:51 +10:00
Matt Joiner
604af2be82 storage file implementation: Error on short writes 2020-06-01 11:12:33 +10:00
Matt Joiner
c3696aa5a4 Fix race in webtorrent.TrackerClient.Run 2020-06-01 11:11:41 +10:00