Commit Graph

2410 Commits

Author SHA1 Message Date
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
Matt Joiner 69a0f2f1e4 Got file storage working with segment index 2020-06-01 00:14:51 +10:00