2
0
mirror of synced 2025-02-24 06:38:14 +00:00

1716 Commits

Author SHA1 Message Date
Matt Joiner
1e9f342a15 Merge piece and chunk iter inputs to nextRequestState
This will allow the iterator to filter chunks for request strategies.
2018-02-01 16:14:13 +11:00
Matt Joiner
3217c5012a Code comments 2018-02-01 14:46:48 +11:00
Matt Joiner
9387e60999 Track concurrent requests across connections
In preparation for some more request strategy options
2018-02-01 14:46:03 +11:00
Matt Joiner
45aff24188 TestClientTransferRateLimitedUpload: Export client status 2018-02-01 14:43:57 +11:00
Matt Joiner
1a7708b484 sortimports 2018-01-31 16:42:40 +11:00
Matt Joiner
eb448d132d Update context imports 2018-01-31 16:42:26 +11:00
Matt Joiner
64c40a45b4 Fix panic in benchmark caused by new logging 2018-01-29 19:16:55 +11:00
Matt Joiner
ceaf5a2360 Add some sanity checks to priorities extracted from Torrent.pendingPieces 2018-01-29 18:22:21 +11:00
Matt Joiner
50c1cdb601 Some test tidying and improvements 2018-01-29 18:22:21 +11:00
Matt Joiner
77806c1f49 More development of the new logging interface 2018-01-29 18:22:21 +11:00
Matt Joiner
ef4c0f1413 Add Torrent.Stats.ConnectedSeeders
Fixes #231
2018-01-29 18:22:21 +11:00
Matt Joiner
9a6f88b0fd
Update README.md
Few small nitpicks.
2018-01-28 18:43:16 +11:00
Matt Joiner
d6111a228c
Update README.md
Big changes to description, links, and downstream projects
2018-01-28 18:37:06 +11:00
Matt Joiner
04428fbdd1
Update README.md
Reorder the badges, I want to direct more people to the Gitter chat.
2018-01-28 17:43:28 +11:00
Matt Joiner
53e32ca9dd Start using new log package 2018-01-28 16:07:11 +11:00
Matt Joiner
5ef22a978b Synchronize piece completion on piece hash failure
Pieces that were unknown, remained unknown despite hashing for that very reason.
2018-01-28 16:02:14 +11:00
Matt Joiner
906d3bc5bb Include completion known in PieceState 2018-01-28 15:58:55 +11:00
Matt Joiner
de928be582 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.
2018-01-28 15:52:14 +11:00
Matt Joiner
e08d11a4b9 Update Client.newConnection with changed rateLimitedReader interface 2018-01-28 15:42:37 +11:00
Matt Joiner
00d9883ee0 Fix download rate limiter and add test 2018-01-28 15:28:45 +11:00
Matt Joiner
37272a391b Avoid race in test 2018-01-27 14:31:46 +11:00
Matt Joiner
1f3eace72f bencode: Add ignore_unmarshal_type_error tag 2018-01-27 14:31:46 +11:00
Matt Joiner
1725fc9a36 Include torrent stats in status 2018-01-27 14:31:46 +11:00
Matt Joiner
8c6d0440c2 Improve Torrent.BytesCompleted comment 2018-01-27 14:31:46 +11:00
Matt Joiner
704a0dd1fe
Update LICENSE 2018-01-27 11:21:33 +11:00
Matt Joiner
0e32592f78 bencode: Give more descriptive errors when failing to parse dicts 2018-01-25 21:46:50 +11:00
Matt Joiner
092b139dcf Fix peer_protocol benchmark 2018-01-25 17:43:45 +11:00
Matt Joiner
692facdebb Add TODO 2018-01-25 17:43:33 +11:00
Matt Joiner
95d535032e Fix benchmark job in CI 2018-01-25 17:20:07 +11:00
Matt Joiner
52524925d2 Add separate piece priorities, and cache pending pieces
Should fix a bug where prioritizing files is not alone sufficient to trigger downloading.
2018-01-25 17:18:36 +11:00
Matt Joiner
e3c098441a Add Torrent.setInfo 2018-01-25 17:10:37 +11:00
Matt Joiner
4807d05018 Improve some comments 2018-01-25 17:02:52 +11:00
Matt Joiner
21108bf6ec Fix file piece index offset calculations 2018-01-25 17:01:29 +11:00
Matt Joiner
29aa07f1a9 Don't lock Client in File.DisplayPath 2018-01-25 16:58:49 +11:00
Matt Joiner
3f9a78e096 Run benchmarks in CI 2018-01-25 16:57:38 +11:00
Matt Joiner
d5f8440e7e Add some helpful comments to type PeerID 2018-01-25 13:14:37 +11:00
Matt Joiner
51b3374015 Add very tentative UPnP NAT traversal
Relates to #230
2018-01-25 13:14:20 +11:00
Matt Joiner
358c6c8649 cmd/torrent: Fix logging when progress bar and stderr are the same file 2018-01-25 13:12:46 +11:00
Matt Joiner
ddd1e90d45 Fix cmd/torrent -debug 2018-01-25 13:11:32 +11:00
Matt Joiner
9285470cc6 Improve some log messages 2018-01-25 13:10:52 +11:00
Matt Joiner
0b553b296f Add File priorities
Fixes #220.
2018-01-21 22:49:12 +11:00
Matt Joiner
696595a76e Add comment explaining Torrent.requestStrategy 2018-01-12 12:24:51 +11:00
Matt Joiner
ed7e3f6ec0 Make Torrent.pendingPieces a priority bitmap in preparation for #220 2018-01-12 12:24:37 +11:00
Matt Joiner
e686523178 storage: Export NewSqlitePieceCompletion 2018-01-12 11:09:33 +11:00
Matt Joiner
d5e2d7ce99 storage: Don't check completion state on every write 2018-01-12 10:45:19 +11:00
Matt Joiner
f3ff3821ec file storage: Report errors getting completion 2018-01-12 10:41:42 +11:00
Matt Joiner
78e23734d4 Clarify the PieceCompletion.Set method bool argument 2018-01-11 22:10:52 +11:00
Matt Joiner
a82c76defb Update sqlite3 piece completion 2018-01-11 22:10:00 +11:00
Matt Joiner
89ea4c0e29 Fix mentions of TorrentDataOpener 2018-01-11 17:11:54 +11:00
Matt Joiner
fe9839f818 sortimports 2018-01-09 23:12:01 +11:00