]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Sat, 20 Feb 2016 03:39:56 +0000 (14:39 +1100)]
Export torrent.String to Torrent
Matt Joiner [Thu, 18 Feb 2016 00:45:31 +0000 (11:45 +1100)]
Ditch Data.WriteSectionTo, and fix cmd/torrent-verify
Matt Joiner [Wed, 17 Feb 2016 07:26:10 +0000 (18:26 +1100)]
Rework Reader reading, and TestCompletedPieceWrongSize
Matt Joiner [Wed, 17 Feb 2016 06:58:20 +0000 (17:58 +1100)]
data/file: Return EOF on reads past end
Matt Joiner [Wed, 17 Feb 2016 06:21:03 +0000 (17:21 +1100)]
Avoid error message when we attempt to complete a piece that's already complete
Matt Joiner [Wed, 17 Feb 2016 06:20:43 +0000 (17:20 +1100)]
Remove pointless code
Matt Joiner [Wed, 17 Feb 2016 06:20:21 +0000 (17:20 +1100)]
Ensure piece completion state is correct at startup
Matt Joiner [Wed, 17 Feb 2016 06:10:34 +0000 (17:10 +1100)]
data/pieceStore: Incorrectly public PieceCompleted method
Matt Joiner [Wed, 17 Feb 2016 06:09:43 +0000 (17:09 +1100)]
Code comments
Matt Joiner [Wed, 17 Feb 2016 06:09:05 +0000 (17:09 +1100)]
Add a test for starting a torrent where pieces are already complete
Matt Joiner [Wed, 17 Feb 2016 06:08:01 +0000 (17:08 +1100)]
Rename issue 35 testing config function to avoid confusion
Matt Joiner [Tue, 16 Feb 2016 13:00:55 +0000 (00:00 +1100)]
Add torrent.completedPieces bitmap
Reduce load on data.PieceComplete for torrents with lots of pieces, when reader position changes. Not sure of the improvement yet.
Matt Joiner [Tue, 16 Feb 2016 12:35:19 +0000 (23:35 +1100)]
Improve error message when piece fails to be completed
Happens occasionally on some servers, can't work out why.
Matt Joiner [Mon, 15 Feb 2016 06:47:04 +0000 (17:47 +1100)]
Only assert we should be requesting a piece in debug mode
Matt Joiner [Sun, 14 Feb 2016 20:22:36 +0000 (07:22 +1100)]
Merge pull request #64 from robaman/master
Retain query parameters from announce URL.
Robert Kästel [Sun, 14 Feb 2016 20:15:51 +0000 (21:15 +0100)]
Retain query parameters from announce URL.
Matt Joiner [Thu, 11 Feb 2016 06:57:57 +0000 (17:57 +1100)]
Trigger piece request order changes on connections in a few spots
The client was requesting already obtained data in certain circumstances. This fixes it.
Matt Joiner [Tue, 9 Feb 2016 13:48:23 +0000 (00:48 +1100)]
Use Cache.StatFile to get piece length in the backend
Matt Joiner [Tue, 9 Feb 2016 13:47:53 +0000 (00:47 +1100)]
Still update a connections piece priority even if the peer doesn't have the piece
Matt Joiner [Tue, 9 Feb 2016 13:46:54 +0000 (00:46 +1100)]
torrent.piecePartiallyDownloaded incorrectly returned true when all the chunks were dirty
Matt Joiner [Tue, 9 Feb 2016 13:45:47 +0000 (00:45 +1100)]
Track posted message type counts
Matt Joiner [Mon, 8 Feb 2016 10:39:15 +0000 (21:39 +1100)]
When we're choked, just forget the requests, we don't need to delete them individually anymore
Matt Joiner [Mon, 8 Feb 2016 10:38:30 +0000 (21:38 +1100)]
Add some missing calls to torrent.updatePiecePriority
Matt Joiner [Mon, 8 Feb 2016 10:36:50 +0000 (21:36 +1100)]
Fix pending of already completed pieces when pending ranges of pieces
Matt Joiner [Mon, 8 Feb 2016 05:09:12 +0000 (16:09 +1100)]
Reintroduce 64 outbound request cap
Matt Joiner [Sun, 7 Feb 2016 16:01:54 +0000 (03:01 +1100)]
Remove unreachable code
Matt Joiner [Sun, 7 Feb 2016 10:58:48 +0000 (21:58 +1100)]
Rework requesting of shuffled pending pieces
Matt Joiner [Sun, 7 Feb 2016 10:57:57 +0000 (21:57 +1100)]
Export Torrent.PieceState()
Matt Joiner [Sun, 7 Feb 2016 10:56:59 +0000 (21:56 +1100)]
Fix overpublishing of piece state change during hashing
Matt Joiner [Sun, 7 Feb 2016 10:55:47 +0000 (21:55 +1100)]
Export PieceStateChange through piece state change pubsub
Matt Joiner [Sun, 7 Feb 2016 07:49:35 +0000 (18:49 +1100)]
Use new tracker package interface
Matt Joiner [Sun, 7 Feb 2016 07:06:13 +0000 (18:06 +1100)]
tracker: Shoehorn old client implementations into new tracker Announce interface
Matt Joiner [Sun, 7 Feb 2016 06:45:46 +0000 (17:45 +1100)]
tracker: Rename response->httpResponse
Matt Joiner [Sun, 7 Feb 2016 06:16:01 +0000 (17:16 +1100)]
Prefix the Action constants
In preparation to rework the client interface
Matt Joiner [Sun, 7 Feb 2016 06:15:06 +0000 (17:15 +1100)]
Reinstate File.PrioritizeRegion() for backward compatibility
Matt Joiner [Sat, 6 Feb 2016 14:22:31 +0000 (01:22 +1100)]
Use new missinggo iterator style, and speed up torrent.connHasWantedPieces()
Matt Joiner [Sat, 6 Feb 2016 14:21:12 +0000 (01:21 +1100)]
Publish changes in piece hashing state
Matt Joiner [Sat, 6 Feb 2016 14:20:40 +0000 (01:20 +1100)]
Speed up torrent.needData, and use new missinggo iterator interface
Matt Joiner [Fri, 5 Feb 2016 04:45:32 +0000 (15:45 +1100)]
Use missinggo.bitmap for tracking dirty chunks
Matt Joiner [Fri, 5 Feb 2016 04:42:23 +0000 (15:42 +1100)]
tracker: Rename the http client type to httpClient
Matt Joiner [Thu, 4 Feb 2016 14:20:02 +0000 (01:20 +1100)]
missinggo.ZeroReader is now a var, not a type
Matt Joiner [Thu, 4 Feb 2016 14:19:42 +0000 (01:19 +1100)]
Changes to piece priority need to be published as a piece state change
This occurs because we're now able to deprioritize pieces after readers seek or close
Matt Joiner [Thu, 4 Feb 2016 14:18:54 +0000 (01:18 +1100)]
Add File.Cancel
Matt Joiner [Thu, 4 Feb 2016 14:17:26 +0000 (01:17 +1100)]
Missing Reader.Close in some tests
Matt Joiner [Thu, 4 Feb 2016 14:17:06 +0000 (01:17 +1100)]
Fix the mess that is the connectionLoop after messages are decoded
Matt Joiner [Thu, 4 Feb 2016 04:04:46 +0000 (15:04 +1100)]
Tidy code
Matt Joiner [Mon, 1 Feb 2016 17:45:57 +0000 (04:45 +1100)]
Fix bug in readahead
Matt Joiner [Mon, 1 Feb 2016 13:45:26 +0000 (00:45 +1100)]
connection.Close must be called under the Client lock
Matt Joiner [Mon, 1 Feb 2016 13:44:29 +0000 (00:44 +1100)]
go vet
Matt Joiner [Mon, 1 Feb 2016 11:06:13 +0000 (22:06 +1100)]
Recalculate all piece priorities more efficiently
Matt Joiner [Mon, 1 Feb 2016 10:11:41 +0000 (21:11 +1100)]
Reintroduce connection piece inclinations, and begin caching piece priorities
Matt Joiner [Mon, 1 Feb 2016 10:09:25 +0000 (21:09 +1100)]
Export leecher and seeder in TestClientTransfer
Matt Joiner [Mon, 1 Feb 2016 10:08:52 +0000 (21:08 +1100)]
Use missinggo.Event for connection closing event
Matt Joiner [Sun, 31 Jan 2016 20:05:43 +0000 (07:05 +1100)]
newTorrent doesn't need to return error
Matt Joiner [Sun, 31 Jan 2016 14:46:28 +0000 (01:46 +1100)]
Abstract the pendingPieces as a bitmap
Matt Joiner [Sun, 31 Jan 2016 08:04:15 +0000 (19:04 +1100)]
Begin tracking use of file descriptors in UDP tracker
Matt Joiner [Sun, 31 Jan 2016 07:35:51 +0000 (18:35 +1100)]
util/profile was replaced by github.com/anacrolix/envpprof
Matt Joiner [Sun, 31 Jan 2016 07:35:23 +0000 (18:35 +1100)]
util/levelmu is no longer in use
Matt Joiner [Sun, 31 Jan 2016 07:35:08 +0000 (18:35 +1100)]
TODO
Matt Joiner [Fri, 29 Jan 2016 18:19:39 +0000 (05:19 +1100)]
Obsolete NOTES file
Matt Joiner [Fri, 29 Jan 2016 07:04:36 +0000 (18:04 +1100)]
Merge pull request #60 from jpillora/patch-1
list cloud torrent in "projects using Torrent"
Jaime Pillora [Fri, 29 Jan 2016 05:13:24 +0000 (16:13 +1100)]
list cloud torrent in "projects using Torrent"
Matt Joiner [Thu, 28 Jan 2016 09:21:04 +0000 (20:21 +1100)]
Merge branch 'noprio2'
Matt Joiner [Thu, 28 Jan 2016 06:22:10 +0000 (17:22 +1100)]
Remove obsolete note about priorities
Matt Joiner [Thu, 28 Jan 2016 02:21:50 +0000 (13:21 +1100)]
Fix stall if data goes missing during a read
Matt Joiner [Thu, 28 Jan 2016 02:04:25 +0000 (13:04 +1100)]
TODO
Matt Joiner [Wed, 27 Jan 2016 18:54:48 +0000 (05:54 +1100)]
Fix downloading of unwanted chunks, and write out downloaded chunks using the connection loop goroutine
Doing the writes with the connection loop goroutine prevents memory use blowing out when chunks aren't written out quickly enough.
Matt Joiner [Sun, 24 Jan 2016 20:22:33 +0000 (07:22 +1100)]
Add pending write helpers
Matt Joiner [Sun, 24 Jan 2016 17:14:19 +0000 (04:14 +1100)]
Readers changing wasn't triggering waitAccept
Caused occasional stall in TestSeedAfterDownloading.
Matt Joiner [Sun, 24 Jan 2016 04:21:31 +0000 (15:21 +1100)]
Use pendingPieces in needData
Matt Joiner [Sun, 24 Jan 2016 04:21:17 +0000 (15:21 +1100)]
Move fillRequests and replenishConnRequests into connection.go
Matt Joiner [Mon, 18 Jan 2016 14:41:53 +0000 (01:41 +1100)]
Delete finished pieces from pending
Matt Joiner [Mon, 18 Jan 2016 14:41:33 +0000 (01:41 +1100)]
require->assert in test
Matt Joiner [Mon, 18 Jan 2016 14:28:56 +0000 (01:28 +1100)]
Fix the download/prioritize piece functions
This involves adding a pendingPieces field to torrent.
Matt Joiner [Mon, 18 Jan 2016 13:34:40 +0000 (00:34 +1100)]
dht: Start timer under transaction lock
Satisfies race detector
Matt Joiner [Mon, 18 Jan 2016 09:12:51 +0000 (20:12 +1100)]
Fixes for torrent.Reader not having ReadAt
Matt Joiner [Mon, 18 Jan 2016 09:11:53 +0000 (20:11 +1100)]
Remove internal/pieceordering
Matt Joiner [Mon, 18 Jan 2016 07:35:14 +0000 (18:35 +1100)]
It's working and the tests are usually passing
I still need to handle "prefetch"-style downloading, and some functions haven't been committed to force this issue.
Matt Joiner [Sat, 16 Jan 2016 14:49:34 +0000 (01:49 +1100)]
Resurrect some comments on Torrent methods
Matt Joiner [Sat, 16 Jan 2016 14:49:04 +0000 (01:49 +1100)]
Reexport Torrent.MetaInfo
Matt Joiner [Sat, 16 Jan 2016 13:14:15 +0000 (00:14 +1100)]
Finally make Torrent.torrent private
A lot of code was using unintentionally exported stuff from the embedded *torrent in Torrent.
Matt Joiner [Sat, 16 Jan 2016 13:12:53 +0000 (00:12 +1100)]
Make Config.DHTConfig not a pointer
Matt Joiner [Wed, 13 Jan 2016 06:11:59 +0000 (17:11 +1100)]
Track dirty chunks, instead of pending chunk specs
This is the first step toward having purely Reader-based priorities. If a chunk is pending, that currently implies that we want to download it. I want to move that kind of state out to the readers.
Matt Joiner [Wed, 6 Jan 2016 01:19:49 +0000 (12:19 +1100)]
Revert "Merge pull request #54 from zhulik/master"
This reverts commit
5cf75b869c469196a8473c4962b99a450daaeeec , reversing
changes made to
09050ff2c5607f3991e6ec6422ed57ba0dee0bad .
Matt Joiner [Wed, 6 Jan 2016 01:10:40 +0000 (12:10 +1100)]
dataBackend/http: Replace connection pooling code with forced HTTP2
Matt Joiner [Tue, 5 Jan 2016 08:56:53 +0000 (19:56 +1100)]
Merge pull request #54 from zhulik/master
Mocking improvements
Gleb Sinyavsky [Tue, 5 Jan 2016 08:42:26 +0000 (11:42 +0300)]
Refactorings
Gleb Sinyavsky [Mon, 4 Jan 2016 12:39:08 +0000 (15:39 +0300)]
Merge branch 'master' of https://github.com/anacrolix/torrent
Matt Joiner [Mon, 4 Jan 2016 11:56:36 +0000 (22:56 +1100)]
Some missing hunks that fix build
Matt Joiner [Mon, 4 Jan 2016 11:54:19 +0000 (22:54 +1100)]
Failure to announce on one tracker isn't very interesting
Matt Joiner [Mon, 4 Jan 2016 11:37:49 +0000 (22:37 +1100)]
Add Have and Bitfield connection methods
Matt Joiner [Mon, 4 Jan 2016 11:34:24 +0000 (22:34 +1100)]
Switch to int from peer_protocol.Integer for piece index in a lot of places
Gleb Sinyavsky [Sun, 27 Dec 2015 12:27:32 +0000 (15:27 +0300)]
peersKey is a public type now
Gleb Sinyavsky [Sun, 27 Dec 2015 12:19:39 +0000 (15:19 +0300)]
Download.Peers() func added
Gleb Sinyavsky [Sun, 27 Dec 2015 11:59:07 +0000 (14:59 +0300)]
cmd utils fixed
Gleb Sinyavsky [Sun, 27 Dec 2015 11:49:15 +0000 (14:49 +0300)]
Torrent structs replaced with Download interface in exported Client methods
Matt Joiner [Thu, 24 Dec 2015 14:33:10 +0000 (01:33 +1100)]
Check piece completion state as soon as a handle to torrent data is obtained from a piece store
This helps flex the new concurrency implementation in the piece store http backend
Matt Joiner [Thu, 24 Dec 2015 14:31:50 +0000 (01:31 +1100)]
Limit parallelism at the piece store http backend connection level instead of at the request level
This is in preparation for improvements that HTTP2 should provide.
Matt Joiner [Thu, 24 Dec 2015 14:26:15 +0000 (01:26 +1100)]
data/pieceStore/{blob->data}.go: More appropriate file name
Matt Joiner [Tue, 22 Dec 2015 16:50:34 +0000 (03:50 +1100)]
Switch from launchpad.net/gommap to github.com/edsrzf/mmap-go for Windows support
Fixes #45.