Matt Joiner
f00f513706
Add missing closeMu use in ReadConsecutiveChunks
2021-02-22 16:39:21 +11:00
Matt Joiner
ac05b69e11
Only write update bolt piece completion if the existing value differs
2021-02-22 14:51:34 +11:00
Matt Joiner
7f7c59d52e
Replace internal/tmproot with Testing.TB.TempDir
2021-02-22 14:30:09 +11:00
Matt Joiner
91454b65fa
Merge Sean-Der's webrtc/v3 update
2021-02-22 11:22:49 +11:00
Matt Joiner
cbdc2b8263
Comment and log change on torrentfs behaviour change
2021-02-22 10:10:43 +11:00
Matt Joiner
4bb2233b46
Merge branch 'fuse-email-issue'
2021-02-22 10:05:32 +11:00
Matt Joiner
f959d32cef
go mod tidy
2021-02-22 10:01:56 +11:00
Matt Joiner
ea8d5ff1ac
Pull dht peer store interface
2021-02-22 10:00:51 +11:00
Sean DuBois
8749bd9697
Upgrade to pion/webrtc@v3
2021-02-21 13:46:37 -08:00
Matt Joiner
051093ca31
Add PeerStorer interface
2021-02-21 17:17:57 +11:00
Matt Joiner
cff461c898
Add ClientConfig.ConfigureAnacrolixDhtServer
2021-02-20 22:16:54 +11:00
Matt Joiner
28f17be267
Close all peer types when Torrent closed
2021-02-19 12:58:20 +11:00
Matt Joiner
86a2b71c47
Code comment
2021-02-19 12:37:26 +11:00
Matt Joiner
6cfce3214f
Create codeql-analysis.yml
2021-02-18 14:48:15 +11:00
Matt Joiner
7e2c2106e6
Include webseed URLs in output of Torrent.Metainfo
2021-02-18 14:37:06 +11:00
Matt Joiner
af0ade5496
Treat 404 responses from webseed peers as fatal
...
Fixes #464 .
2021-02-18 14:36:08 +11:00
Matt Joiner
d5c6ca0485
Add test case for #464
2021-02-18 14:34:42 +11:00
Matt Joiner
2c62206103
Install godo
2021-02-15 21:44:52 +11:00
Matt Joiner
90b2932fe7
Run torrentfs without race
2021-02-15 21:44:35 +11:00
Matt Joiner
2dd566a24c
Add new debian torrent testdata file
2021-02-15 16:12:58 +11:00
Matt Joiner
7990eef91d
Use io.ReadFull in fs reads
2021-02-15 15:53:32 +11:00
Matt Joiner
a5439836d9
fs/test.sh: Use godo for out of tree go run
2021-02-15 15:45:07 +11:00
Matt Joiner
e3cfd3d033
Rework fs/test.sh
...
Updates to use newer debian file, and operate in working directory. Temporary directory management should be done by the caller (such as in CI maybe).
2021-02-12 19:21:28 +11:00
Matt Joiner
927866e881
Limit conns per host across webseed clients
2021-02-09 19:22:38 +11:00
Matt Joiner
0cc655deed
Fix closing of webseed peers
2021-02-09 19:21:54 +11:00
Matt Joiner
549ab3c160
Buff issue 465 test command
2021-02-09 19:17:22 +11:00
Matt Joiner
ce44a4c3f2
Add minimal reproducing code for issue 465
...
From https://github.com/anacrolix/torrent/issues/465#issuecomment-774869977 .
2021-02-09 17:05:02 +11:00
Matt Joiner
579925fa94
Fix panic in benchmark
2021-02-05 10:01:33 +11:00
Matt Joiner
bc0936c44a
Use locks on piece per resource pieces to prevent races in reading incomplete data
2021-02-04 19:18:59 +11:00
Matt Joiner
78c77c0b45
Expose mmap_size in sqlite storage, and change default to 8 MiB
2021-02-04 18:29:40 +11:00
Matt Joiner
c714cb6992
Fix some go vet warnings
2021-02-03 19:42:46 +11:00
Matt Joiner
371d54ab76
Fix Close race in sqlite storage when batch writes disabled
2021-02-03 19:27:26 +11:00
Matt Joiner
6bc2a2a6ac
Revert "Fix stalls for responsive transfer tests"
...
This reverts commit d48c6ae6dc
.
2021-02-03 18:55:54 +11:00
Matt Joiner
6f9c2fed61
Add batch writes cases to sqlite storage benchmarks
2021-02-03 18:55:14 +11:00
Matt Joiner
f3cd7007eb
Update deps
2021-02-02 10:47:38 +11:00
Matt Joiner
48843c0b87
Fix for go<1.16
2021-02-02 10:41:39 +11:00
Matt Joiner
15ccbc95c6
Fix sqlite storage for numconns 1
2021-02-02 10:41:39 +11:00
Matt Joiner
d48c6ae6dc
Fix stalls for responsive transfer tests
...
Looks like there's a timing issue between marking things complete, and already having decided to read the data from incomplete chunks.
2021-02-02 10:41:39 +11:00
Matt Joiner
270a2ba1ae
Switch to reading consecutive incomplete chunks
...
This fixes a race where a sqlite conn isn't reserved for the read part of a MarkComplete operation after the write has already begun.
2021-02-02 10:41:38 +11:00
Matt Joiner
4ae8a1bc52
Add tests for numconns 2
2021-02-02 10:41:38 +11:00
Matt Joiner
ad2ea89961
Use go1.16 release branch in CI
2021-02-02 10:41:38 +11:00
Shubhendra Singh Chauhan
0cdb33ede0
fixed code quality issues using DeepSource
...
* Added .deepsource.toml
* Removed empty default in select
* Removed unnecessary use of slice
* Fixed check for empty string
2021-01-30 15:23:49 +11:00
Matt Joiner
f5915ad12c
Use iotest.TestReader
2021-01-29 23:32:01 +11:00
Matt Joiner
887db4a276
Some deps got tagged
2021-01-29 22:05:09 +11:00
Matt Joiner
840f2ff3e9
Update crawshaw.io/sqlite
...
Now includes the fix for the pool race. I've removed the replace, the only thing left in the getlantern fork is the linking fix, and I forget when it's an issue.
2021-01-29 17:59:56 +11:00
Matt Joiner
68d8604c20
We're not expecting chunks if we have no outstanding requests
2021-01-29 16:14:08 +11:00
Matt Joiner
43a2942b98
Set not interested when we have no pending requests
2021-01-29 16:13:46 +11:00
Matt Joiner
60e992ec97
Rework webseed peers to use a pool of requesters
...
This fixes the limitation that the max outstanding requests for a webseed peer must match the request concurrency. It should mean less recalculation, and more pipelining.
2021-01-29 16:01:35 +11:00
Matt Joiner
4078644db9
Pass callbacks to webseed peers
2021-01-28 18:25:06 +11:00
Matt Joiner
1ac5811990
Remove requests as soon as chunk data is received
...
Note that this breaks the backpressure on webseed responses again, and should be fixed shortly.
2021-01-28 16:36:35 +11:00