]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Thu, 1 Feb 2018 07:49:53 +0000 (18:49 +1100)]
When seeding, connections are not just useful when they're interested
Improves peer selection when seeding is enabled, we're still downloading.
Matt Joiner [Thu, 1 Feb 2018 07:45:58 +0000 (18:45 +1100)]
Some changes to status output
Matt Joiner [Thu, 1 Feb 2018 05:14:13 +0000 (16:14 +1100)]
Merge piece and chunk iter inputs to nextRequestState
This will allow the iterator to filter chunks for request strategies.
Matt Joiner [Thu, 1 Feb 2018 03:46:48 +0000 (14:46 +1100)]
Code comments
Matt Joiner [Thu, 1 Feb 2018 03:46:03 +0000 (14:46 +1100)]
Track concurrent requests across connections
In preparation for some more request strategy options
Matt Joiner [Thu, 1 Feb 2018 03:43:57 +0000 (14:43 +1100)]
TestClientTransferRateLimitedUpload: Export client status
Matt Joiner [Wed, 31 Jan 2018 05:42:40 +0000 (16:42 +1100)]
sortimports
Matt Joiner [Wed, 31 Jan 2018 05:42:26 +0000 (16:42 +1100)]
Update context imports
Matt Joiner [Mon, 29 Jan 2018 08:16:55 +0000 (19:16 +1100)]
Fix panic in benchmark caused by new logging
Matt Joiner [Mon, 29 Jan 2018 07:21:37 +0000 (18:21 +1100)]
Add some sanity checks to priorities extracted from Torrent.pendingPieces
Matt Joiner [Mon, 29 Jan 2018 07:20:48 +0000 (18:20 +1100)]
Some test tidying and improvements
Matt Joiner [Mon, 29 Jan 2018 07:19:53 +0000 (18:19 +1100)]
More development of the new logging interface
Matt Joiner [Mon, 29 Jan 2018 07:18:08 +0000 (18:18 +1100)]
Add Torrent.Stats.ConnectedSeeders
Fixes #231
Matt Joiner [Sun, 28 Jan 2018 07:43:16 +0000 (18:43 +1100)]
Update README.md
Few small nitpicks.
Matt Joiner [Sun, 28 Jan 2018 07:37:06 +0000 (18:37 +1100)]
Update README.md
Big changes to description, links, and downstream projects
Matt Joiner [Sun, 28 Jan 2018 06:43:28 +0000 (17:43 +1100)]
Update README.md
Reorder the badges, I want to direct more people to the Gitter chat.
Matt Joiner [Sun, 28 Jan 2018 05:07:11 +0000 (16:07 +1100)]
Start using new log package
Matt Joiner [Sun, 28 Jan 2018 05:02:14 +0000 (16:02 +1100)]
Synchronize piece completion on piece hash failure
Pieces that were unknown, remained unknown despite hashing for that very reason.
Matt Joiner [Sun, 28 Jan 2018 04:58:55 +0000 (15:58 +1100)]
Include completion known in PieceState
Matt Joiner [Sun, 28 Jan 2018 04:52:14 +0000 (15:52 +1100)]
Remove premature update to piece priority after piece is completed
This should have prevented Torrent.piecePriorityChanged from being called, meaning requests for the completed piece were not canceled, and the piece remained in connection's piece request queue, which meant wasted effort downloading chunks for an already acquired piece.
Thanks to @elgatito for discovering the issue.
Matt Joiner [Sun, 28 Jan 2018 04:42:37 +0000 (15:42 +1100)]
Update Client.newConnection with changed rateLimitedReader interface
Matt Joiner [Sun, 28 Jan 2018 04:28:45 +0000 (15:28 +1100)]
Fix download rate limiter and add test
Matt Joiner [Sat, 27 Jan 2018 03:31:31 +0000 (14:31 +1100)]
Avoid race in test
Matt Joiner [Sat, 27 Jan 2018 03:31:12 +0000 (14:31 +1100)]
bencode: Add ignore_unmarshal_type_error tag
Matt Joiner [Sat, 27 Jan 2018 01:02:05 +0000 (12:02 +1100)]
Include torrent stats in status
Matt Joiner [Sat, 27 Jan 2018 01:01:09 +0000 (12:01 +1100)]
Improve Torrent.BytesCompleted comment
Matt Joiner [Sat, 27 Jan 2018 00:21:33 +0000 (11:21 +1100)]
Update LICENSE
Matt Joiner [Thu, 25 Jan 2018 10:46:50 +0000 (21:46 +1100)]
bencode: Give more descriptive errors when failing to parse dicts
Matt Joiner [Thu, 25 Jan 2018 06:43:45 +0000 (17:43 +1100)]
Fix peer_protocol benchmark
Matt Joiner [Thu, 25 Jan 2018 06:43:33 +0000 (17:43 +1100)]
Add TODO
Matt Joiner [Thu, 25 Jan 2018 06:20:07 +0000 (17:20 +1100)]
Fix benchmark job in CI
Matt Joiner [Thu, 25 Jan 2018 06:18:36 +0000 (17:18 +1100)]
Add separate piece priorities, and cache pending pieces
Should fix a bug where prioritizing files is not alone sufficient to trigger downloading.
Matt Joiner [Thu, 25 Jan 2018 06:10:37 +0000 (17:10 +1100)]
Add Torrent.setInfo
Matt Joiner [Thu, 25 Jan 2018 06:02:52 +0000 (17:02 +1100)]
Improve some comments
Matt Joiner [Thu, 25 Jan 2018 06:01:29 +0000 (17:01 +1100)]
Fix file piece index offset calculations
Matt Joiner [Thu, 25 Jan 2018 05:58:49 +0000 (16:58 +1100)]
Don't lock Client in File.DisplayPath
Matt Joiner [Thu, 25 Jan 2018 05:57:38 +0000 (16:57 +1100)]
Run benchmarks in CI
Matt Joiner [Thu, 25 Jan 2018 02:14:37 +0000 (13:14 +1100)]
Add some helpful comments to type PeerID
Matt Joiner [Thu, 25 Jan 2018 02:14:20 +0000 (13:14 +1100)]
Add very tentative UPnP NAT traversal
Relates to #230
Matt Joiner [Thu, 25 Jan 2018 02:12:46 +0000 (13:12 +1100)]
cmd/torrent: Fix logging when progress bar and stderr are the same file
Matt Joiner [Thu, 25 Jan 2018 02:11:32 +0000 (13:11 +1100)]
Fix cmd/torrent -debug
Matt Joiner [Thu, 25 Jan 2018 02:10:52 +0000 (13:10 +1100)]
Improve some log messages
Matt Joiner [Sun, 21 Jan 2018 11:49:12 +0000 (22:49 +1100)]
Add File priorities
Fixes #220.
Matt Joiner [Fri, 12 Jan 2018 01:24:51 +0000 (12:24 +1100)]
Add comment explaining Torrent.requestStrategy
Matt Joiner [Fri, 12 Jan 2018 01:24:37 +0000 (12:24 +1100)]
Make Torrent.pendingPieces a priority bitmap in preparation for #220
Matt Joiner [Fri, 12 Jan 2018 00:09:33 +0000 (11:09 +1100)]
storage: Export NewSqlitePieceCompletion
Matt Joiner [Thu, 11 Jan 2018 23:45:19 +0000 (10:45 +1100)]
storage: Don't check completion state on every write
Matt Joiner [Thu, 11 Jan 2018 23:41:42 +0000 (10:41 +1100)]
file storage: Report errors getting completion
Matt Joiner [Thu, 11 Jan 2018 11:10:52 +0000 (22:10 +1100)]
Clarify the PieceCompletion.Set method bool argument
Matt Joiner [Thu, 11 Jan 2018 11:10:00 +0000 (22:10 +1100)]
Update sqlite3 piece completion
Matt Joiner [Thu, 11 Jan 2018 06:11:54 +0000 (17:11 +1100)]
Fix mentions of TorrentDataOpener
Matt Joiner [Tue, 9 Jan 2018 12:12:01 +0000 (23:12 +1100)]
sortimports
Matt Joiner [Tue, 9 Jan 2018 12:11:34 +0000 (23:11 +1100)]
Use NoSync with bolt storage and piece completion
Fixes terrible slowness on Linux.
Matt Joiner [Tue, 9 Jan 2018 06:29:31 +0000 (17:29 +1100)]
Begin restructuring testutil to support testing torrents with various properties
Matt Joiner [Tue, 9 Jan 2018 06:26:46 +0000 (17:26 +1100)]
Add some TODOs and tidy a test
Matt Joiner [Tue, 9 Jan 2018 06:26:01 +0000 (17:26 +1100)]
Screen negative pieces
Should fix #228.
Denis [Mon, 8 Jan 2018 00:03:34 +0000 (02:03 +0200)]
fixing wrong offset in request (#226)
Matt Joiner [Sun, 7 Jan 2018 09:31:10 +0000 (20:31 +1100)]
Improve comments on Config.{Upload,Download}RateLimiter
See #225
Matt Joiner [Sun, 7 Jan 2018 08:26:24 +0000 (19:26 +1100)]
File.offset wasn't applied to the reads on the Torrent
Matt Joiner [Sun, 7 Jan 2018 08:24:00 +0000 (19:24 +1100)]
Fix a log format string
Matt Joiner [Sun, 7 Jan 2018 00:57:02 +0000 (11:57 +1100)]
Improve various File related doc comments
Matt Joiner [Sat, 6 Jan 2018 12:15:41 +0000 (23:15 +1100)]
Readers obtained from File.NewReader should not readahead into other Files
Fixes #221. Additionally Torrent.length is a pointer and isn't set until the info is available to avoid it defaulting to zero.
Matt Joiner [Sat, 6 Jan 2018 05:54:17 +0000 (16:54 +1100)]
Rename File.PrioritizeRegion to DownloadRegion
Fixes #223
Matt Joiner [Sat, 6 Jan 2018 05:53:40 +0000 (16:53 +1100)]
megacheck and staticcheck fixes
Matt Joiner [Sat, 6 Jan 2018 05:41:05 +0000 (16:41 +1100)]
cmd/torrent-pick: Close file Reader
Matt Joiner [Sat, 6 Jan 2018 05:40:35 +0000 (16:40 +1100)]
Reader: Changing responsiveness should wake blocked reads
Matt Joiner [Sat, 6 Jan 2018 05:39:52 +0000 (16:39 +1100)]
mmap_span: Synchronize access to memory maps to avoid race when unmapping
Matt Joiner [Sat, 6 Jan 2018 05:38:41 +0000 (16:38 +1100)]
storage: Rename mmapStorage->mmapClientImpl
Matt Joiner [Sat, 6 Jan 2018 05:37:40 +0000 (16:37 +1100)]
Formatting and comments
Matt Joiner [Sat, 6 Jan 2018 05:37:13 +0000 (16:37 +1100)]
Add File.NewReader
Fixes #222
Matt Joiner [Sat, 6 Jan 2018 04:50:45 +0000 (15:50 +1100)]
Make peerID a public type
Wanted it applied to Client Status output
Matt Joiner [Sat, 6 Jan 2018 01:34:31 +0000 (12:34 +1100)]
Use peerID type more, and make its Stringer output nicer
Matt Joiner [Fri, 29 Dec 2017 02:50:26 +0000 (13:50 +1100)]
Add the fs test torrent to the repo
Debian keep moving it.
Matt Joiner [Fri, 29 Dec 2017 01:18:55 +0000 (12:18 +1100)]
Update error message in metainfo.Info.writeFiles
I think it was ripped out of some other code a long time ago.
Matt Joiner [Fri, 29 Dec 2017 01:17:58 +0000 (12:17 +1100)]
Introduce metainfo.HashSize
This will be useful when BitTorrent 2 is implemented, and helps with creating arbitrary Info.Pieces
Matt Joiner [Fri, 29 Dec 2017 01:16:05 +0000 (12:16 +1100)]
Improve some doc comments
Matt Joiner [Fri, 29 Dec 2017 01:15:33 +0000 (12:15 +1100)]
Survive panics while writing chunks
Also improve the comment on that code
Matt Joiner [Thu, 28 Dec 2017 12:59:30 +0000 (23:59 +1100)]
When queuing a piece for hashing after receiving a chunk, clear all the dirty chunks
This should fix a bug triggered by storage inconsistencies.
Matt Joiner [Thu, 28 Dec 2017 12:58:07 +0000 (23:58 +1100)]
Improve a log message
Matt Joiner [Thu, 28 Dec 2017 10:05:55 +0000 (21:05 +1100)]
Merge pull request #219 from elgatito/http_user_agent
adding http user-agent setters and usage
Denis Kuzmenok [Thu, 28 Dec 2017 08:47:51 +0000 (10:47 +0200)]
adding http user-agent setters and usage
Denis [Wed, 6 Dec 2017 00:56:26 +0000 (02:56 +0200)]
added disable_libutp build flag usage (#215)
Matt Joiner [Sun, 3 Dec 2017 02:44:37 +0000 (13:44 +1100)]
Log dropping of bad peers in debug mode only
Matt Joiner [Sun, 3 Dec 2017 02:44:08 +0000 (13:44 +1100)]
missinggo.LimitLen changed
Matt Joiner [Sat, 2 Dec 2017 13:35:09 +0000 (00:35 +1100)]
Code comments
Matt Joiner [Fri, 1 Dec 2017 23:26:09 +0000 (10:26 +1100)]
Test that mmap size doesn't exceed system memory address width
Should fix http://paste.ubuntu.com/
26074620 /
Matt Joiner [Fri, 1 Dec 2017 23:01:27 +0000 (10:01 +1100)]
Fix panic in Torrent.addrActive if there are closed connections
Fixes #214
Matt Joiner [Fri, 1 Dec 2017 22:58:08 +0000 (09:58 +1100)]
Fix the Stats panic in #214
Matt Joiner [Fri, 1 Dec 2017 12:09:07 +0000 (23:09 +1100)]
Synchronize access to storage
Matt Joiner [Fri, 1 Dec 2017 12:08:53 +0000 (23:08 +1100)]
Remove racy part of test
Matt Joiner [Fri, 1 Dec 2017 07:13:21 +0000 (18:13 +1100)]
Improve issue #211 test name
Matt Joiner [Fri, 1 Dec 2017 07:12:29 +0000 (18:12 +1100)]
sortimports
Matt Joiner [Fri, 1 Dec 2017 07:11:20 +0000 (18:11 +1100)]
Add test for #211
Matt Joiner [Fri, 1 Dec 2017 06:58:42 +0000 (17:58 +1100)]
Torrent.bytesLeft was taking a copy instead of pointer to Piece
Matt Joiner [Fri, 1 Dec 2017 03:03:05 +0000 (14:03 +1100)]
Publish piece state changes after verifying piece
Matt Joiner [Fri, 10 Nov 2017 12:44:24 +0000 (23:44 +1100)]
bencode.scanner.ReadByte returned errors when it shouldn't have
Matt Joiner [Wed, 8 Nov 2017 10:34:24 +0000 (21:34 +1100)]
bencode: Handle encoding big.Ints
Matt Joiner [Wed, 8 Nov 2017 09:58:35 +0000 (20:58 +1100)]
bencode: Tidy import block
Matt Joiner [Wed, 8 Nov 2017 09:23:15 +0000 (20:23 +1100)]
Merge commit '
6ab65a49a8a72dea1a28968b2ab42a85fd4566ec '
# Conflicts:
# config.go
Matt Joiner [Wed, 8 Nov 2017 08:57:05 +0000 (19:57 +1100)]
metainfo: Omit empty Metainfo.InfoBytes