Commit Graph

2769 Commits

Author SHA1 Message Date
Matt Joiner a76fad32eb Fix panic unmarshalling bencode dict into unsupported type 2021-08-12 12:16:53 +10:00
Matt Joiner d03de7669b Fix allocation of empty DhtNodes in TorrentSpec
https://github.com/anacrolix/torrent/pull/536#issuecomment-896392738
2021-08-11 12:27:00 +10:00
Matt Joiner 87294355fb Fix race in sqlite direct storage init
There's a race between starting the blob flusher and assigning the timer to the storage client.
2021-08-11 09:44:09 +10:00
Alfonso Montero 88c0a85e44
Readme: Add downstream project (#543) 2021-08-10 11:13:00 +10:00
Matt Joiner d42f2516a4 Increase request update interval if there's no signalling 2021-08-01 22:52:51 +10:00
Matt Joiner 7096da9f03 Minimize allocations and resizing in request computation 2021-08-01 22:02:40 +10:00
Matt Joiner e04c9a13f1 Precompute File.DisplayPath
This is an optimization for dir lookups in torrentfs.
2021-08-01 22:01:24 +10:00
Matt Joiner 555cb064dd cmd/torrentfs: Fix panic on missing info 2021-08-01 21:38:35 +10:00
Matt Joiner 83749028ec Trim UDP tracker client read allocations 2021-07-26 10:18:24 +10:00
Matt Joiner 1d53c170b0 Close torrent storage asynchronously on drop 2021-07-17 19:10:07 +10:00
Matt Joiner 5eab39001f Add debug level to piece hash failure log message 2021-07-17 18:52:41 +10:00
Matt Joiner 3b62b0054d Fix go:build directives 2021-07-14 14:35:52 +10:00
Matt Joiner e1cac00bd5
Remove unused badges 2021-07-02 14:43:13 +10:00
Matt Joiner 4fb13a1868 Fix race in concurrent connects in UDP tracker 2021-06-27 11:57:28 +10:00
ucwong 8b39fcf68b
missinggo go.mod fix (#526) 2021-06-26 10:31:50 +10:00
Matt Joiner 9c81516139 Check that udp conn ID age is non-zero 2021-06-25 15:00:39 +10:00
Matt Joiner ff8557cf7e Add http tracker AllowKeepAlive 2021-06-25 15:00:09 +10:00
Matt Joiner a570b83870 Update and expose default client identifiers 2021-06-25 11:29:59 +10:00
Matt Joiner d4bf547801 Add udp tracker scrape support 2021-06-24 23:13:35 +10:00
Matt Joiner 65f507a792 Pull AnnounceOpt into tracker package 2021-06-24 23:13:35 +10:00
Matt Joiner a3159e6b11 Cancel writer after request 2021-06-24 23:13:35 +10:00
Matt Joiner 4bcf71c729 Don't log dispatch errors 2021-06-24 23:13:35 +10:00
Matt Joiner 98a1423732 Extract protocol agnostic tracker Client 2021-06-24 23:13:35 +10:00
Matt Joiner 101a269873 Rewrite udp announce to use udp client 2021-06-24 23:13:35 +10:00
ucwong 6a170b9e4f
package expect fix (#524) 2021-06-23 21:27:18 +10:00
Matt Joiner 51a2d06365 Fix some error wrapping in mse 2021-06-23 17:25:07 +10:00
Matt Joiner c3c982b621 Fixes for wasm 2021-06-23 17:24:50 +10:00
Matt Joiner 99f3e9ad3d Reject accepted connections if we don't want conns
This prevents unnecessarily stalling peers dialling us if we have no intention to ever accept.
2021-06-23 12:41:25 +10:00
Matt Joiner 42a2fb445f Rearrange some tracker tests and files 2021-06-22 23:32:27 +10:00
Matt Joiner af8c41ebe9 Extract HTTP tracker client into separate package 2021-06-22 23:28:26 +10:00
Matt Joiner 8df885cd81 Move tracker test server code to test file 2021-06-22 22:48:49 +10:00
Matt Joiner 2ddddad6f7 Update test tracker urls 2021-06-22 22:45:56 +10:00
Matt Joiner 98630dfc3d Fix tracker test timeouts 2021-06-22 22:45:50 +10:00
Matt Joiner 333c878d2b Rewrite UDP tracker client 2021-06-22 22:36:43 +10:00
Matt Joiner 582f0ccd48 Add UDP tracker announce and connect expvars 2021-06-22 16:52:55 +10:00
Matt Joiner 364c7d862e Add to bencode.Unmarshal doc comment 2021-06-21 17:58:04 +10:00
Matt Joiner b9c7d6266b Tidy up the Dialer interface 2021-06-21 13:29:26 +10:00
Matt Joiner 88d144e65e Minor tidying 2021-06-21 13:00:20 +10:00
Matt Joiner 765edfa7cb Expose DialFirst 2021-06-21 12:54:57 +10:00
Matt Joiner 9f5ce7e90e Mark client transfer test as parallel 2021-06-21 12:30:05 +10:00
Matt Joiner 5fc42e8105 Remove sqlite piece-resource storage 2021-06-21 12:29:37 +10:00
Matt Joiner 15f8e77519 Add explicit metadata extension types 2021-06-21 12:14:06 +10:00
Matt Joiner a01b451857 Add ClientConfig.AcceptPeerConnections 2021-06-21 12:14:01 +10:00
Matt Joiner af1ca91e04 Remove conntrack, expose Torrent.AnnounceToDht, ClientConfig.PeriodicallyAnnounceTorrentsToDht 2021-06-21 12:13:53 +10:00
Matt Joiner ebd19af795 Merge branch 'request-strategy-rewrite' 2021-06-21 12:04:06 +10:00
Zilog8 e2a559e243
Allow Storage Backends to do their own Hashing (#518)
* Allow Storage Backends to do their own Hashing

- Describes an optional interface 'SelfHashing' that a storage backend's type implementing 'PieceImpl' may also implement in order to calculate piece hashsums itself.

- Alters the 'hashPiece' function in the torrent package to look for types implementing 'SelfHashing' . If not implemented, calculate the hash as usual.
2021-06-08 15:45:35 +10:00
deepsource-autofix[bot] a68f040ea6 Fix nil context being passed to function 2021-06-07 19:32:02 +10:00
Matt Joiner f183acefe2 Add default param name in TorrentImpl.Piece func 2021-06-07 13:01:40 +10:00
Matt Joiner ef39f408fe Add storage/disabled
The default storage will create empty files on torrent open, which is undesirable in some circumstances. This storage implementation is explicit about not storing anything.
2021-06-07 13:01:40 +10:00
Matt Joiner bc186ac211 Expose AnacrolixDhtServerWrapper 2021-06-07 13:01:40 +10:00