2
0
mirror of synced 2025-02-24 14:48:27 +00:00

2764 Commits

Author SHA1 Message Date
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
Matt Joiner
7d9e2b18d6 Extract chansync to github.com/anacrolix/chansync 2021-06-07 13:01:40 +10:00
Matt Joiner
047cdbae0d bencode: Improve support for embedded structs 2021-06-07 13:01:40 +10:00
Matt Joiner
25d2eea12d bencode: Support anonymous embedded struct pointers
More to come if this line of improvement is retained.
2021-06-07 13:01:40 +10:00
Matt Joiner
259356ccd6 Rework bencode decoding so it might support embedded structs 2021-06-07 13:01:40 +10:00
Matt Joiner
f50b8fc2fa Fix issue with duplicate preallocated requests
Likely introduced by allowing actual and next request states to differ.
2021-06-07 13:01:40 +10:00