]>
Sergey Matveev's repositories - btrtrc.git/log
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.
Matt Joiner [Tue, 22 Dec 2015 16:32:24 +0000 (03:32 +1100)]
Suppress log message regarding bad tracker URLs
Matt Joiner [Tue, 22 Dec 2015 16:31:39 +0000 (03:31 +1100)]
Fix #47
Forgot to remove a non-deferred sync.Mutex.Unlock
Matt Joiner [Thu, 17 Dec 2015 13:50:22 +0000 (00:50 +1100)]
dht: announce_peer should not occur to insecure nodes
Additionally, we now announce even if a token wasn't provided. Why not.
Matt Joiner [Thu, 17 Dec 2015 12:51:50 +0000 (23:51 +1100)]
dht: Except local network addresses from security checks
Matt Joiner [Thu, 17 Dec 2015 12:36:57 +0000 (23:36 +1100)]
dht: Move security tests into separate file
Matt Joiner [Thu, 17 Dec 2015 12:22:39 +0000 (23:22 +1100)]
dht: Move security functions into new file
Matt Joiner [Wed, 16 Dec 2015 04:20:37 +0000 (15:20 +1100)]
Add OnQuery hook, thanks to Cathal Garvey
Matt Joiner [Wed, 16 Dec 2015 04:16:53 +0000 (15:16 +1100)]
Test improvements
Matt Joiner [Wed, 16 Dec 2015 04:15:59 +0000 (15:15 +1100)]
Add NodeIdHex config option
Matt Joiner [Wed, 16 Dec 2015 04:13:32 +0000 (15:13 +1100)]
Add NoDefaultBootstrap and use it and testify in a few tests
Matt Joiner [Wed, 16 Dec 2015 04:06:23 +0000 (15:06 +1100)]
Use testify for some tests
Matt Joiner [Sat, 12 Dec 2015 03:03:25 +0000 (14:03 +1100)]
Standardize Torrent method receivers
Matt Joiner [Sat, 12 Dec 2015 03:03:04 +0000 (14:03 +1100)]
Expose Torrent.SetDisplayName
Matt Joiner [Sat, 12 Dec 2015 03:00:07 +0000 (14:00 +1100)]
Docs
Matt Joiner [Thu, 10 Dec 2015 16:05:40 +0000 (03:05 +1100)]
data/pieceStore: Improve error message when pieces fail to write
Matt Joiner [Thu, 10 Dec 2015 16:04:04 +0000 (03:04 +1100)]
Don't consider a peer to have touched a piece if a chunk isn't written successfully
This prevents peers being banned when there are issues with the data service locally.
Matt Joiner [Thu, 10 Dec 2015 16:02:45 +0000 (03:02 +1100)]
CopyURL moved to httptoo
Matt Joiner [Mon, 7 Dec 2015 13:45:42 +0000 (00:45 +1100)]
Rewrite cmd/dht-ping
Dmitry Borzov [Mon, 7 Dec 2015 14:48:43 +0000 (17:48 +0300)]
Fix package-docstring for dht package
Dmitry Borzov [Mon, 7 Dec 2015 11:26:27 +0000 (14:26 +0300)]
Fix name ambiguity for dht-ping, too many things are called pingResponses
Matt Joiner [Mon, 7 Dec 2015 12:11:39 +0000 (23:11 +1100)]
sortimports
Matt Joiner [Sun, 6 Dec 2015 16:28:28 +0000 (03:28 +1100)]
Actually fix #41 properly; and several big changes
bencode:
* Handle omitempty on non-trivial types.
cmd/dht-ping:
* Handle timeouts in ping transactions.
dht:
* Propagate failed transaction responses properly.
* Msg related tests are moved into their own file.
* In some places, IPs in binary form are shorted to 4 bytes if IPv4.
Matt Joiner [Sun, 6 Dec 2015 15:39:00 +0000 (02:39 +1100)]
Fix #41
Matt Joiner [Sun, 6 Dec 2015 14:23:19 +0000 (01:23 +1100)]
Merge pull request #42 from dborzov/dht
Nicer godoc strings for dht package, and breaking source up into different files
Dmitry Borzov [Sun, 6 Dec 2015 14:56:46 +0000 (17:56 +0300)]
Move dht.Server defs to a separate file
Dmitry Borzov [Sat, 5 Dec 2015 21:34:46 +0000 (00:34 +0300)]
Move Transaction & nodeInfo defs to dedicated files
Dmitry Borzov [Sat, 5 Dec 2015 20:40:41 +0000 (23:40 +0300)]
Fix godoc strings for dht package
Matt Joiner [Sun, 22 Nov 2015 07:49:44 +0000 (18:49 +1100)]
cmd/torrent-infohash: Switch to tagflag
Matt Joiner [Sun, 22 Nov 2015 07:45:06 +0000 (18:45 +1100)]
Use uiprogress to display a progress bar per torrent
Matt Joiner [Sun, 22 Nov 2015 07:44:33 +0000 (18:44 +1100)]
Expose torrent.Seeding
Matt Joiner [Sun, 22 Nov 2015 07:44:08 +0000 (18:44 +1100)]
torrent.DisplayName should not be exported
Matt Joiner [Fri, 13 Nov 2015 12:36:38 +0000 (23:36 +1100)]
Test announcing to third party servers shouldn't fail if none respond
Matt Joiner [Fri, 13 Nov 2015 11:51:20 +0000 (22:51 +1100)]
Add coverage badge to README
Matt Joiner [Fri, 13 Nov 2015 11:35:18 +0000 (22:35 +1100)]
data/pieceStore/dataBackend: ErrNotFound now aliases os.ErrNotExist
Matt Joiner [Fri, 13 Nov 2015 11:34:29 +0000 (22:34 +1100)]
dht: Don't log KRPC unmarshal errors, there's a expvar for this
Matt Joiner [Fri, 13 Nov 2015 11:33:50 +0000 (22:33 +1100)]
Blocking IPv6 addresses is not so interesting
Matt Joiner [Wed, 11 Nov 2015 16:25:04 +0000 (03:25 +1100)]
Add method File.Torrent
Matt Joiner [Wed, 11 Nov 2015 16:24:41 +0000 (03:24 +1100)]
TODO
Matt Joiner [Mon, 9 Nov 2015 12:05:52 +0000 (23:05 +1100)]
internal/cmd/bloom-false-positives: Switch to tagflag
Was looking at using github.com/tylertreat/BoomFilters instead of github.com/willf/bloom
Matt Joiner [Mon, 9 Nov 2015 11:27:38 +0000 (22:27 +1100)]
Add comment doc for File.PrioritizeRegion
Matt Joiner [Thu, 5 Nov 2015 13:40:47 +0000 (00:40 +1100)]
Make torrent.Reader reads fail when the torrent is closed instead of stalling
Matt Joiner [Thu, 5 Nov 2015 13:40:16 +0000 (00:40 +1100)]
Remove sync.Cond from piece
It's not trivial to ensure that anyone waiting on the piece Cond will wake on events like the torrent being dropped from the client.
Matt Joiner [Thu, 5 Nov 2015 12:21:39 +0000 (23:21 +1100)]
Ditch go-flags for tagflag
Fixes #37
Matt Joiner [Tue, 3 Nov 2015 12:21:10 +0000 (23:21 +1100)]
bencode: Improve unknown value type error
Matt Joiner [Fri, 30 Oct 2015 11:21:48 +0000 (22:21 +1100)]
httpfile.Open can now return an error
Matt Joiner [Thu, 29 Oct 2015 14:21:09 +0000 (01:21 +1100)]
metainfo: Add alternative "builder" API
The existing builder API is gross and heavy-handed. I won't rip it out just yet.
Matt Joiner [Thu, 29 Oct 2015 14:18:29 +0000 (01:18 +1100)]
dht: Handle bad responses to get_peers
Matt Joiner [Thu, 29 Oct 2015 14:16:52 +0000 (01:16 +1100)]
Avoid copying mutex in piece
Matt Joiner [Thu, 29 Oct 2015 12:47:13 +0000 (23:47 +1100)]
Fix #35
Matt Joiner [Thu, 29 Oct 2015 12:46:47 +0000 (23:46 +1100)]
Add test for issue 35
Matt Joiner [Fri, 23 Oct 2015 01:45:51 +0000 (12:45 +1100)]
Some missing io.EOFs
Matt Joiner [Fri, 23 Oct 2015 01:45:11 +0000 (12:45 +1100)]
data/pieceStore: Expose flags in Open method
Matt Joiner [Fri, 23 Oct 2015 01:42:57 +0000 (12:42 +1100)]
Tidy
Matt Joiner [Fri, 23 Oct 2015 01:42:19 +0000 (12:42 +1100)]
cmd/torrent: Expose --mmap
Matt Joiner [Fri, 23 Oct 2015 01:41:45 +0000 (12:41 +1100)]
dht: Make Msg a struct with bencode tags
Matt Joiner [Fri, 23 Oct 2015 01:38:00 +0000 (12:38 +1100)]
Merge branch 'master' of github.com:anacrolix/torrent
Matt Joiner [Fri, 23 Oct 2015 01:37:30 +0000 (12:37 +1100)]
bencode: Can't get zero type of a nil interface
Matt Joiner [Fri, 23 Oct 2015 01:36:47 +0000 (12:36 +1100)]
bencode: Rethrow non-errors during encoding
Matt Joiner [Fri, 23 Oct 2015 01:35:38 +0000 (12:35 +1100)]
bencode: Encoding nil interfaces are an error except at data root
Matt Joiner [Tue, 20 Oct 2015 06:53:12 +0000 (17:53 +1100)]
Fix #33.
Matt Joiner [Sun, 18 Oct 2015 14:31:34 +0000 (01:31 +1100)]
Make Piece a concrete type
There was a lot of allocations occuring because it was an interface.
Matt Joiner [Sun, 18 Oct 2015 14:28:36 +0000 (01:28 +1100)]
bencode: Don't skip encoding nil pointers and interfaces
This caused an annoying bug for complex types where dictionary values went missing.
Matt Joiner [Sun, 18 Oct 2015 14:27:15 +0000 (01:27 +1100)]
bencode: Use default field name if it isn't given (but options are)
Matt Joiner [Sun, 18 Oct 2015 14:25:56 +0000 (01:25 +1100)]
bencode: Tidy up
Matt Joiner [Sun, 18 Oct 2015 13:02:42 +0000 (00:02 +1100)]
Missed in last commit
Matt Joiner [Sun, 18 Oct 2015 13:00:26 +0000 (00:00 +1100)]
Avoid allocation in iplist.Ranger.Lookup
It was very expensive for DHT packets.
Matt Joiner [Sat, 17 Oct 2015 15:32:24 +0000 (02:32 +1100)]
Update TODO
Matt Joiner [Fri, 16 Oct 2015 11:10:03 +0000 (22:10 +1100)]
Store pieces inplace in torrent.Pieces
This should save some allocation overhead, especially for torrents that have 20k+ pieces.
Matt Joiner [Fri, 16 Oct 2015 11:07:13 +0000 (22:07 +1100)]
Update README
Matt Joiner [Sat, 10 Oct 2015 22:46:47 +0000 (09:46 +1100)]
Merge pull request #31 from kupsef/master
fix: added announce to torrent spec
Kupai József [Sat, 10 Oct 2015 12:31:02 +0000 (14:31 +0200)]
fix: added announce to torrent spec
Matt Joiner [Sun, 4 Oct 2015 08:58:23 +0000 (19:58 +1100)]
Some slow tracker tests can be Parallel
Matt Joiner [Sat, 3 Oct 2015 14:22:46 +0000 (00:22 +1000)]
Create a pieceStore interface, and merge in my httpfile backend, and replace data/blob
data/blob was aging, and had severe performance problems. It's now possible to use missinggo/filecache as a data backend to pieceStore which is better tested and performs excellently.
Matt Joiner [Sat, 3 Oct 2015 14:02:14 +0000 (00:02 +1000)]
utp package merged PacketConn with Socket
Matt Joiner [Thu, 1 Oct 2015 14:16:50 +0000 (00:16 +1000)]
fs test: Missed package specifier
Matt Joiner [Thu, 1 Oct 2015 14:16:25 +0000 (00:16 +1000)]
Fix import cycle
Matt Joiner [Thu, 1 Oct 2015 14:13:43 +0000 (00:13 +1000)]
bencode: When decoding a dict, if the final key is missing its value, don't treat that as an error.
I think I'm swayed here by the robustness principle/Postel's Law.