Commit Graph

2774 Commits

Author SHA1 Message Date
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