Matt Joiner
b508877d82
Track peer availability at the Torrent-level
2021-06-07 13:01:39 +10:00
Matt Joiner
2d2456249a
Remove unused pieceRequestOrder in Client
2021-06-07 13:01:39 +10:00
Matt Joiner
52e6979457
go mod tidy
2021-06-07 13:01:39 +10:00
Matt Joiner
977a3ec00f
Use multiless with Float64
2021-06-07 13:01:39 +10:00
Matt Joiner
9c9ba1aeac
PeerConn.post becomes PeerConn.write
2021-06-07 13:01:39 +10:00
Matt Joiner
56e2a8a3a6
Fix download rate, status output
2021-06-07 13:01:39 +10:00
Matt Joiner
5f8471e21b
Rework storage.TorrentImpl to support shared capacity key
2021-06-07 13:01:39 +10:00
Matt Joiner
6e97ce952f
Tidy up request and cancel
2021-06-07 13:01:39 +10:00
Matt Joiner
5f437e6b7f
Remove empty file
2021-06-07 13:01:39 +10:00
Matt Joiner
b2c68b314b
Limit outstanding requests
2021-06-07 13:01:39 +10:00
Matt Joiner
0830589b0a
Pass tests with new full-client request strategy implementation
2021-06-07 13:01:39 +10:00
Matt Joiner
56e5d08eff
Log failure to complete metadata
2021-06-07 12:57:42 +10:00
Matt Joiner
f5d2ba37bc
Count peers added from DHT for logging
2021-06-07 12:57:32 +10:00
Matt Joiner
d7c549d2e4
Add TODOs around setting info bytes
2021-06-07 12:57:09 +10:00
Matt Joiner
125d7f0e90
Create go.yml ( #497 )
...
* Create go.yml
* Go version 1.16
* Add benchmarks
* Match CircleCI test coverage
* Add 15 minute timeout
* Don't log to file
* Download modules in separate step, minimize test runs
* Install godo before running torrentfs end-to-end test
* More fixes
* More fixes for GitHub Actions CI
2021-06-07 12:44:51 +10:00
gitpubber
8f6f47a2e0
Added build tags to disable few packages if necessary ( #499 )
2021-05-25 18:48:59 +10:00
Matt Joiner
a60a4c9117
Progress testing without cgo a bit
2021-05-21 15:22:26 +10:00
Matt Joiner
b21aebeaae
Make wal the default for sqlite resource pieces
...
Fixes broken test as a result.
2021-05-17 11:56:10 +10:00
Matt Joiner
7798e2a306
Make synchronous=off the default
2021-05-17 11:56:10 +10:00
Matt Joiner
c585b84126
Set smarter defaults
2021-05-17 11:56:10 +10:00
Matt Joiner
fc0f2d146d
Set page size before initializing connections
...
Setting page_size seems to be ignored if done after setting journal_mode, specifically to WAL I think. There's huge performance benefits to getting it right.
2021-05-17 11:56:10 +10:00
Matt Joiner
ad421ea2d0
Default to sqlite piece completion for dir if cgo enabled
2021-05-14 15:51:26 +10:00
Matt Joiner
a4e84688ae
Fix sqlite piece completion
2021-05-14 15:45:54 +10:00
Matt Joiner
8654f1b01d
Move envpprof.Stop to main
2021-05-14 15:43:24 +10:00
Matt Joiner
8585eb09ba
Possible fix for GitHub code scanning warning
2021-05-14 15:43:13 +10:00
Matt Joiner
961cbfd765
Add CustomDirect BenchmarkMarkComplete sub-test
2021-05-14 15:42:54 +10:00
Matt Joiner
bdcba73cf9
Fix race in webtorrent dial stats
2021-05-14 15:42:25 +10:00
Matt Joiner
b9c36ebef3
cmd/torrent: Track download rate
2021-05-14 15:42:20 +10:00
Matt Joiner
a44f9921aa
Remove github.com/pkg/errors use in peerconn.go
...
Was contributing to unexpected CPU use, and it's way out of date.
2021-05-14 15:42:07 +10:00
Matt Joiner
f01d93cee0
Track chunks received in nexted expvar.Map
2021-05-14 15:42:02 +10:00
Matt Joiner
7b3e48b915
Expose SetSynchronous as an option
2021-05-14 15:41:56 +10:00
Matt Joiner
5030804b01
Fix race in MarkNotComplete
2021-05-14 15:41:28 +10:00
Matt Joiner
e5d21dbf34
Don't create blobs when reading
2021-05-14 15:41:23 +10:00
Matt Joiner
ee572c5822
Track peers supporting extension in a nested expvar.Map
2021-05-14 15:41:14 +10:00
Matt Joiner
b151514154
Tidy up sqlite direct piece receiver name
2021-05-14 15:40:59 +10:00
Matt Joiner
9feb85d0d1
Remove unused method
2021-05-14 15:40:38 +10:00
Matt Joiner
47284cf426
Rename Torrent.{add,delete}Connection
2021-05-14 15:39:01 +10:00
Matt Joiner
1080c837b9
Remove separate postedKeepalives expvar
2021-05-14 15:38:38 +10:00
Matt Joiner
4ab20f60b6
Improve some lock handling under panics
2021-05-14 15:36:53 +10:00
Matt Joiner
627b75c8b4
Merge branch 'sqlite-direct'
2021-05-14 15:36:35 +10:00
Matt Joiner
ef75fa47f8
Create SECURITY.md
2021-05-14 10:17:19 +10:00
gitpubber
b8e1c95399
Allows one to use Custom PieceCompletion ( #486 )
...
* Change ClientImpl to ClientImplCloser
We cannot close underlying Boltdb PieceCompletion if it is not closable
* Update file.go
2021-05-09 19:34:41 +10:00
gitpubber
5e53f35b72
Change ClientImpl to ClientImplCloser
...
We cannot close underlying Boltdb PieceCompletion if it is not closable
2021-05-09 11:04:43 +10:00
Matt Joiner
95d72a452a
Reduce allocations in iterBitmapsDistinct
2021-05-08 10:35:23 +10:00
Matt Joiner
8dcc52ccf9
Don't set the page size by default
2021-05-06 15:25:01 +10:00
Matt Joiner
96574468c5
Expose a variety of blob cleanup styles
2021-05-06 15:17:31 +10:00
Matt Joiner
abe003b6b3
Benchmark different mmap sizes and journal modes
2021-05-06 12:00:20 +10:00
Matt Joiner
20c00dedc0
Rework lots of option handling
2021-05-05 21:36:36 +10:00
Matt Joiner
acfe0ba87e
Rename new.go
2021-05-05 15:55:08 +10:00
Matt Joiner
b583fe3d47
Use bench timer more effectively, and use Piece.WriteTo
2021-05-05 15:53:43 +10:00