Matt Joiner
8f187411cc
Set testing keep alive timeout to 1 millisecond
...
If it's too fast, we get stuck trying to send keep alives rather than actually communicating with the peer.
2021-08-19 13:37:00 +10:00
Matt Joiner
16c4b08885
Fix deadlock when checking whether to send keep alive
2021-08-19 13:37:00 +10:00
Matt Joiner
a3c2d76b4a
Limit keep alives for rate limited download test
2021-08-19 13:37:00 +10:00
Matt Joiner
588a7b6149
Fix race in assigning keep alive timer
2021-08-19 13:37:00 +10:00
Matt Joiner
dcb2e5b53b
Use different keep alive timeout in tests
...
Exposes bug found in email discussions resulting from https://github.com/anacrolix/torrent/discussions/547 .
2021-08-19 13:37:00 +10:00
Bora M. Alper
16176b762e
Add linter CI ( #542 )
...
* Add linter CI
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Make gosec CI ignore SHA1 and upload sarif
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Fix formatting of source files
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Make go vet ignore unkeyed composite literals and fix other warnings
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Make staticcheck ignore unused methods and fix other warnings
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Use golangci-lint
Signed-off-by: Bora M. Alper <bora@boramalper.org>
2021-08-16 11:11:31 +10:00
Matt Joiner
22c5a94a6a
Use roaring.Bitmap directly for completed pieces
...
Looking at improving the performance around this per https://github.com/anacrolix/torrent/discussions/547#discussion-3522317 .
2021-08-16 11:07:10 +10:00
Matt Joiner
cc0abf4fd2
Set go 1.17 in go.mod
2021-08-16 10:38:43 +10:00
Matt Joiner
909b2bb4b5
go get -u
2021-08-16 10:37:19 +10:00
Matt Joiner
450e8b0f7d
Fix mmap panic on darwin with Go 1.17
2021-08-13 14:02:37 +10:00
Matt Joiner
901a8b1b36
Don't panic on int parse failures
...
This means for UnmarshalTypeErrors we now include context. There are still some other error types remaining that are thrown up via panic.
2021-08-12 13:46:02 +10:00
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