]>
 
 
Sergey Matveev's repositories - btrtrc.git/log 
 
 
 
 
 
 
Matt Joiner [Tue, 4 Apr 2017 08:41:08 +0000 (18:41 +1000)] 
 
Avoid allocating skeys for receiving encrypted handshakes 
 
Matt Joiner [Thu, 30 Mar 2017 10:38:44 +0000 (21:38 +1100)] 
 
storage: Fix race condition in mapPieceCompletion 
 
Matt Joiner [Sun, 19 Mar 2017 06:04:32 +0000 (17:04 +1100)] 
 
sortimports 
 
Matt Joiner [Sat, 18 Mar 2017 02:03:02 +0000 (13:03 +1100)] 
 
storage: Add package doc 
 
Matt Joiner [Fri, 17 Mar 2017 10:30:28 +0000 (21:30 +1100)] 
 
Merge pull request #149 from thechriswalker/torrent-storage-options 
 
fix `Spec.Storage` and allow per-torrent dir 
 
Chris Walker [Thu, 16 Mar 2017 14:24:54 +0000 (14:24 +0000)] 
 
fix `Spec.Storage` and allow per-torrent dir 
 
`TorrentSpec.Storage` was not honored when calling `Client.AddTorrentSpec` 
and the configured `cfg.DefaultStorage` was always used. Now if you construct 
your `TorrentSpec` you can specify any `StorageImpl` 
 
Also, the most common use case for custom storage being per-torrent paths for 
FileStorage, this adds a `pathMaker` function to the File implementation that 
allows customization, along with the default (always use base path) and my use 
case (which seemed common enough from the Gitter chat) which is infohash based 
subdirectories. 
 
All Public methods have not changed signature, but 1 private method did, hence 
the test update. 
 
Matt Joiner [Fri, 24 Feb 2017 10:56:23 +0000 (21:56 +1100)] 
 
Fix a logging of metainfo.Hash 
 
Matt Joiner [Sun, 19 Feb 2017 04:57:30 +0000 (15:57 +1100)] 
 
Don’t track the empty string, and ditch Torrent.announceList 
 
Matt Joiner [Thu, 16 Feb 2017 09:10:32 +0000 (20:10 +1100)] 
 
Fix torrent status info hash hex 
 
Matt Joiner [Wed, 15 Feb 2017 09:05:28 +0000 (20:05 +1100)] 
 
metainfo: Improve MetaInfo.AnnounceList handling 
 
Matt Joiner [Wed, 15 Feb 2017 07:40:30 +0000 (18:40 +1100)] 
 
Revert "Quick fix for missing MetaInfo.Announce everywhere with trackers"
This reverts commit 
b7a8d08bbf046d756e8d80744a188167e28a19de .
 
Matt Joiner [Tue, 14 Feb 2017 11:42:21 +0000 (22:42 +1100)] 
 
Update README.md 
 
Add CircleCI shield 
 
Matt Joiner [Mon, 13 Feb 2017 11:28:42 +0000 (22:28 +1100)] 
 
Quick fix for missing MetaInfo.Announce everywhere with trackers 
 
Matt Joiner [Tue, 7 Feb 2017 04:01:02 +0000 (15:01 +1100)] 
 
dht.Server.Announce now takes [20]byte 
 
Matt Joiner [Thu, 2 Feb 2017 05:53:19 +0000 (16:53 +1100)] 
 
Trivial logging, comment, Stringer changes 
 
Matt Joiner [Wed, 1 Feb 2017 05:28:16 +0000 (16:28 +1100)] 
 
Massively reduce CPU when Readers are blocked on unavailable data 
 
Matt Joiner [Wed, 18 Jan 2017 01:10:13 +0000 (12:10 +1100)] 
 
Change type of metainfo.Info.URLList 
 
Matt Joiner [Wed, 18 Jan 2017 01:09:51 +0000 (12:09 +1100)] 
 
TODO 
 
Matt Joiner [Sat, 14 Jan 2017 09:39:48 +0000 (20:39 +1100)] 
 
package itertools API changed 
 
Matt Joiner [Thu, 12 Jan 2017 10:50:01 +0000 (21:50 +1100)] 
 
Update README 
 
Matt Joiner [Thu, 5 Jan 2017 06:00:59 +0000 (17:00 +1100)] 
 
Remove FileStorePieces storage backend 
 
ResourcePIeces is now preferred. 
 
Matt Joiner [Thu, 5 Jan 2017 06:00:16 +0000 (17:00 +1100)] 
 
sortimports 
 
Matt Joiner [Wed, 4 Jan 2017 07:15:49 +0000 (18:15 +1100)] 
 
Log the storage TorrentImpl type 
 
Matt Joiner [Wed, 4 Jan 2017 07:09:50 +0000 (18:09 +1100)] 
 
Show connection piece request order in text status 
 
Matt Joiner [Wed, 4 Jan 2017 07:09:17 +0000 (18:09 +1100)] 
 
metainfo: FileInfo.Offset failed with single-file torrents 
 
Matt Joiner [Wed, 4 Jan 2017 07:08:29 +0000 (18:08 +1100)] 
 
Reduce the priority given to earlier pieces. Maximum priority reads at the end of the file aren’t getting enough attention. 
 
Matt Joiner [Wed, 4 Jan 2017 06:15:11 +0000 (17:15 +1100)] 
 
metainfo: Add helper methods to FileInfo 
 
Matt Joiner [Wed, 4 Jan 2017 03:42:59 +0000 (14:42 +1100)] 
 
Merge pull request #144 from BonkaBonka/fastfail 
 
Abort verify at first hash mismatch. 
 
BonkaBonka [Wed, 4 Jan 2017 02:44:19 +0000 (21:44 -0500)] 
 
Abort verify at first hash mismatch. 
 
Matt Joiner [Sun, 1 Jan 2017 00:03:02 +0000 (11:03 +1100)] 
 
Remove unused funcs and idents 
 
Matt Joiner [Sun, 1 Jan 2017 00:02:37 +0000 (11:02 +1100)] 
 
Move method queuePieceCheck 
 
Matt Joiner [Sun, 1 Jan 2017 00:01:41 +0000 (11:01 +1100)] 
 
sort imports 
 
Matt Joiner [Sat, 31 Dec 2016 23:07:05 +0000 (10:07 +1100)] 
 
Panic if NewHashFromHex gets a bad string 
 
Matt Joiner [Sat, 31 Dec 2016 23:05:41 +0000 (10:05 +1100)] 
 
Rewrite cmd/torrent-verify 
 
Fixes #141 
 
Matt Joiner [Sat, 31 Dec 2016 08:17:00 +0000 (19:17 +1100)] 
 
Update README.md 
 
Add Trickl android app 
 
Matt Joiner [Sat, 31 Dec 2016 08:07:02 +0000 (19:07 +1100)] 
 
Update README.md 
 
Closes #143 
 
Matt Joiner [Wed, 14 Dec 2016 00:43:37 +0000 (11:43 +1100)] 
 
dht/… moved to github.com/anacrolix/dht 
 
Matt Joiner [Tue, 13 Dec 2016 03:50:42 +0000 (14:50 +1100)] 
 
Rename dht/krpc.KRPCError -> Error 
 
Matt Joiner [Tue, 13 Dec 2016 03:45:40 +0000 (14:45 +1100)] 
 
dht: Reply with Method Unknown error to unknown query methods received 
 
Matt Joiner [Tue, 13 Dec 2016 03:44:00 +0000 (14:44 +1100)] 
 
Fix race condition in TestPieceHashFailed 
 
Barsanuphe [Fri, 9 Dec 2016 02:16:56 +0000 (03:16  +0100)] 
 
Added optional source flag to torrent files (#137) 
 
Matt Joiner [Tue, 6 Dec 2016 05:10:10 +0000 (16:10 +1100)] 
 
Fix piece failures not clearing dirty chunks 
 
I don’t like how complicated piece completion/hashing management is, but it works. 
 
Matt Joiner [Tue, 6 Dec 2016 04:43:00 +0000 (15:43 +1100)] 
 
Matt Joiner [Tue, 6 Dec 2016 04:41:08 +0000 (15:41 +1100)] 
 
Add test that dirty chunks are cleared on piece hash failure 
 
Matt Joiner [Mon, 5 Dec 2016 11:00:26 +0000 (22:00 +1100)] 
 
Reader.Close: Don’t set t to nil, we may still expect it 
 
For example in goroutines spawned in ReadContext. 
 
Matt Joiner [Thu, 1 Dec 2016 04:41:52 +0000 (15:41 +1100)] 
 
iplist: Begin adding support for parsing CIDR lists 
 
Matt Joiner [Wed, 30 Nov 2016 07:02:39 +0000 (18:02 +1100)] 
 
Add Torrent.Closed 
 
Matt Joiner [Wed, 30 Nov 2016 07:02:21 +0000 (18:02 +1100)] 
 
cmd/torrent: Accept infohash: scheme torrents 
 
Matt Joiner [Wed, 30 Nov 2016 07:01:39 +0000 (18:01 +1100)] 
 
Fix logging of trust slice 
 
Matt Joiner [Sun, 27 Nov 2016 13:03:10 +0000 (00:03  +1100)] 
 
Avoid deadlock caused by receiving PORT and and DHT announce_peer at the same time 
 
Matt Joiner [Sun, 27 Nov 2016 03:43:21 +0000 (14:43 +1100)] 
 
Fix deadlock in Client.onDHTAnnouncePeer 
 
Matt Joiner [Sun, 27 Nov 2016 03:26:45 +0000 (14:26 +1100)] 
 
Fix harmless race conditions in Client.WriteStatus introduced way back 
 
Matt Joiner [Sat, 26 Nov 2016 15:22:47 +0000 (02:22  +1100)] 
 
dht.NewServer: Initialize the tokenServer 
 
Matt Joiner [Sat, 26 Nov 2016 13:05:19 +0000 (00:05  +1100)] 
 
Add peers received from received announce_peer DHT messages to the Client 
 
Addresses #133 
 
Matt Joiner [Sat, 26 Nov 2016 05:14:37 +0000 (16:14 +1100)] 
 
dht.Server: Return valid token from get_peers, and handle incoming announce_peer 
 
Addresses #133. 
 
Matt Joiner [Fri, 25 Nov 2016 06:24:29 +0000 (17:24 +1100)] 
 
Remove unused function 
 
Matt Joiner [Fri, 25 Nov 2016 06:24:16 +0000 (17:24 +1100)] 
 
Remove completed TODO item 
 
Matt Joiner [Wed, 23 Nov 2016 01:59:23 +0000 (12:59 +1100)] 
 
Kick only the worst connection when a piece fails a check 
 
Matt Joiner [Wed, 23 Nov 2016 00:52:41 +0000 (11:52 +1100)] 
 
Add a note about dropping connections that we sent a HAVE for incomplete pieces 
 
Matt Joiner [Wed, 23 Nov 2016 00:48:44 +0000 (11:48 +1100)] 
 
Make Torrent.conns a map 
 
Can't remember if I've tried this before. But dropping arbitrary connections while iterating established conns will become much simpler. 
 
Matt Joiner [Tue, 22 Nov 2016 10:12:53 +0000 (21:12 +1100)] 
 
Move a bunch of Client methods onto more appropriate types 
 
Matt Joiner [Tue, 22 Nov 2016 04:40:46 +0000 (15:40 +1100)] 
 
tracker: Support the original http response peers format 
 
Fixes #130 
 
Matt Joiner [Tue, 22 Nov 2016 03:20:48 +0000 (14:20 +1100)] 
 
Don't accept pieces with bad indexes 
 
Fixes #132 
 
Matt Joiner [Tue, 22 Nov 2016 03:18:09 +0000 (14:18 +1100)] 
 
Rename connection.downloadedChunk -> receiveChunk 
 
Matt Joiner [Tue, 22 Nov 2016 03:17:30 +0000 (14:17 +1100)] 
 
Make downloadedChunk a method of connection 
 
Matt Joiner [Tue, 22 Nov 2016 03:16:18 +0000 (14:16 +1100)] 
 
Move Client.downloadedChunk to connection.go 
 
Matt Joiner [Tue, 22 Nov 2016 03:01:17 +0000 (14:01 +1100)] 
 
TODO 
 
Matt Joiner [Tue, 22 Nov 2016 03:01:09 +0000 (14:01 +1100)] 
 
gofmt simplify 
 
Matt Joiner [Tue, 8 Nov 2016 10:09:04 +0000 (21:09 +1100)] 
 
metainfo: Remove unused import 
 
Vincent [Fri, 4 Nov 2016 22:32:51 +0000 (15:32 -0700)] 
 
feat: remove print BuildFromFilePath 
 
removes the print of (path, err) in function BuildFromFilePath 
 
Matt Joiner [Mon, 31 Oct 2016 08:05:33 +0000 (19:05 +1100)] 
 
Reader.Close: Prefer to lock Client in public method 
 
Matt Joiner [Mon, 31 Oct 2016 08:05:08 +0000 (19:05 +1100)] 
 
Torrent.unpendPieces: Only update unpended pieces 
 
Updating all pieces at once is no longer faster. (There was an optimization for this a while ago that no longer exists.) 
 
Matt Joiner [Mon, 31 Oct 2016 08:00:08 +0000 (19:00 +1100)] 
 
When Reader position changes only update piece priorities that may be affected 
 
Seems to significantly reduce CPU load reading from torrents with huge piece counts. 
 
Matt Joiner [Mon, 31 Oct 2016 05:24:48 +0000 (16:24 +1100)] 
 
Ditch the use of generic slices.HeapInterface for finding the worst "bad" connection 
 
It's become a bottleneck. Implement it directly using heap.Interface. 
 
Matt Joiner [Mon, 31 Oct 2016 05:22:07 +0000 (16:22 +1100)] 
 
Comment on connection.updatePiecePriority 
 
There's also Torrent.updatePiecePriority, and it's always confusing what the difference is. 
 
Matt Joiner [Tue, 25 Oct 2016 09:00:09 +0000 (20:00 +1100)] 
 
storage: ClientImpl interface now includes Close 
 
This is now necessary because bolt doesn't allow multiple DB handles, so the bolt piece completion DB instance must be at the client level. The new method is not currently used from the Client however, this maybe necessary to avoid leaks. 
 
Matt Joiner [Tue, 25 Oct 2016 08:57:35 +0000 (19:57 +1100)] 
 
storage: Fix spelling mistake 
 
Matt Joiner [Tue, 25 Oct 2016 08:54:09 +0000 (19:54 +1100)] 
 
storage: Only include sqlite3 piece completion implementation if cgo is enabled 
 
Issue #124. 
 
Matt Joiner [Tue, 25 Oct 2016 08:52:44 +0000 (19:52 +1100)] 
 
storage: Remove sqlite3 import from bolt implementation 
 
#124 
 
Igor Shishkin [Tue, 25 Oct 2016 08:13:06 +0000 (11:13 +0300)] 
 
Trivial HTTP support for adding torrent files by (#126) 
 
* Trivial HTTP support for adding torrent files by 
 
Sometimes it's really usefull to do not download 
torrent file locally but simply pass HTTP link 
this patch adds such ability. 
 
Signed-off-by: Igor Shishkin <me@teran.ru>  
* Fix for closing http connection after use 
 
Signed-off-by: Igor Shishkin <me@teran.ru>  
Matt Joiner [Tue, 25 Oct 2016 08:07:26 +0000 (19:07 +1100)] 
 
Add bolt piece completion DB 
 
This means it can be persistent without needing cgo. Fixes issues #115 and #124. 
 
Matt Joiner [Tue, 25 Oct 2016 03:58:17 +0000 (14:58 +1100)] 
 
Move the implementation of connection.requestPiecePendingChunks out of Torrent 
 
Matt Joiner [Mon, 24 Oct 2016 08:35:12 +0000 (19:35 +1100)] 
 
Reader.SetReadahead can change readahead pieces 
 
Matt Joiner [Sun, 23 Oct 2016 05:33:26 +0000 (16:33 +1100)] 
 
Optimize piece priorities when reader position changes 
 
Gives a decent boost to throughput and reduces a lot of CPU when reading very quickly from Reader. 
 
Matt Joiner [Tue, 18 Oct 2016 14:38:54 +0000 (01:38  +1100)] 
 
Add TODO item 
 
Thomas Maurice [Fri, 14 Oct 2016 18:07:44 +0000 (20:07 +0200)] 
 
Fix not working import 
 
Matt Joiner [Mon, 10 Oct 2016 06:29:39 +0000 (17:29 +1100)] 
 
Add download rate limiting 
 
Fixes #121. 
 
Matt Joiner [Mon, 10 Oct 2016 05:55:56 +0000 (16:55 +1100)] 
 
Make newConnection a method on Client 
 
Matt Joiner [Mon, 10 Oct 2016 05:30:51 +0000 (16:30 +1100)] 
 
Split connection.rw into separate Reader and Writer 
 
This will make it easier to write hooks for Read and Write separately. 
 
Matt Joiner [Mon, 10 Oct 2016 04:03:02 +0000 (15:03 +1100)] 
 
Fix Config.UploadRateLimiter comment 
 
Matt Joiner [Mon, 10 Oct 2016 03:58:29 +0000 (14:58 +1100)] 
 
Add really simple upload rate limiting and test 
 
Matt Joiner [Mon, 10 Oct 2016 03:57:34 +0000 (14:57 +1100)] 
 
Improve code comments 
 
Matt Joiner [Sun, 9 Oct 2016 13:04:14 +0000 (00:04  +1100)] 
 
Reorder the fields of struct Client 
 
Matt Joiner [Thu, 6 Oct 2016 03:58:50 +0000 (14:58 +1100)] 
 
Update README.md 
 
The build status badge is not helpful due to the aggressive testing and badge caching. 
 
Matt Joiner [Wed, 5 Oct 2016 04:57:38 +0000 (15:57 +1100)] 
 
Default to debug mode in client testing config 
 
Matt Joiner [Wed, 5 Oct 2016 04:57:00 +0000 (15:57 +1100)] 
 
Do chunk pooling at Torrent instead of connection level 
 
Matt Joiner [Fri, 30 Sep 2016 02:14:34 +0000 (12:14 +1000)] 
 
Speed up mse.handshake.establishS 
 
Remove possible slice allocation, and avoid reflect. 
 
Matt Joiner [Sun, 25 Sep 2016 00:31:43 +0000 (10:31 +1000)] 
 
peer_protocol.Decoder.Decode: Avoid allocating another intermediate reader 
 
On my system, BenchmarkConnectionMainReadLoop goes from 596 to 1311 MB/s. 
 
Meng Zhuo [Wed, 21 Sep 2016 11:53:05 +0000 (19:53 +0800)] 
 
fix unreadable id when started 
 
Meng Zhuo [Wed, 21 Sep 2016 11:36:07 +0000 (19:36 +0800)] 
 
fix dht-server cmd won't exit after Ctrl+C