]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Mon, 3 Aug 2015 15:33:50 +0000 (01:33 +1000)]
Improve log message
Matt Joiner [Mon, 3 Aug 2015 15:32:45 +0000 (01:32 +1000)]
Drop peers for sending too many unwanted pieces
So the algorithm is now, drop the worst half if they get too old, and drop any connection if it's ratio is poor.
Matt Joiner [Mon, 3 Aug 2015 15:29:40 +0000 (01:29 +1000)]
Log errant unwanted piece rather than panic
Eventually I'll work out what causes this, but for now it's incredibly rare.
Matt Joiner [Mon, 3 Aug 2015 15:20:44 +0000 (01:20 +1000)]
dht: Count announce errors, don't log them
Matt Joiner [Mon, 3 Aug 2015 15:20:10 +0000 (01:20 +1000)]
Filter out DHT peers with port 0
Probably not necessary now we ban the nodes that send them, but it's appropriate to check here too.
Matt Joiner [Mon, 3 Aug 2015 15:17:32 +0000 (01:17 +1000)]
Fix crash if peer sends out of bounds HAVE message
Matt Joiner [Mon, 3 Aug 2015 15:15:09 +0000 (01:15 +1000)]
Tighten up some potential leaks
Based on some observations of lingering goroutines in unit tests.
Matt Joiner [Mon, 3 Aug 2015 15:12:09 +0000 (01:12 +1000)]
Drop connections that contributed to pieces that failed to hash
There are peers out there that seem to intentionally spam bad data, and the same pieces will often fail continuously. This really puts a bee in their bonnet.
Matt Joiner [Mon, 3 Aug 2015 15:07:22 +0000 (01:07 +1000)]
Add IPBlocklist option to Config, and test it's inherited by DHT
Matt Joiner [Mon, 3 Aug 2015 14:48:17 +0000 (00:48 +1000)]
Fix utp.Socket leak in test
Matt Joiner [Mon, 3 Aug 2015 14:45:15 +0000 (00:45 +1000)]
Add File.DisplayPath
It's used in many places, I just never formalized it. This will help prevent bugs and misuse of File.Path
Matt Joiner [Mon, 3 Aug 2015 14:43:46 +0000 (00:43 +1000)]
If a DHTConfig was provided without a blocklist, the DHT wouldn't inherit the Client's blocklist
Matt Joiner [Mon, 3 Aug 2015 14:37:16 +0000 (00:37 +1000)]
dht: Add PublicIP to config to secure node ID
Matt Joiner [Mon, 3 Aug 2015 14:31:53 +0000 (00:31 +1000)]
dht: Block bad nodes, start by banning those that send port=0
Matt Joiner [Mon, 3 Aug 2015 14:29:01 +0000 (00:29 +1000)]
Some utils moved to missinggo
Matt Joiner [Mon, 3 Aug 2015 06:23:05 +0000 (16:23 +1000)]
Replace go-check with testify
It's muuuuch better.
Matt Joiner [Mon, 3 Aug 2015 04:24:59 +0000 (14:24 +1000)]
Fix locking in data/blob
Matt Joiner [Sun, 2 Aug 2015 11:00:49 +0000 (21:00 +1000)]
Trivial missed changes
Matt Joiner [Sun, 2 Aug 2015 10:45:26 +0000 (20:45 +1000)]
Remove clunky sentence from README
Matt Joiner [Sun, 2 Aug 2015 10:39:31 +0000 (20:39 +1000)]
connection.writer wasn't working efficiently
Because of the pseudo-random selection of a communication in a select statement, flushing was occuring prematurely. Also the buffer was needlessly large. For large messages, like outgoing pieces, it's probably better they just go straight to the wire anyway.
This change will make it easier to implement sending of pieces that doesn't block control messages in the future. Any time that the buffer is empty, we'll be able to signal that it's an optimal time to send a piece.
Matt Joiner [Sun, 2 Aug 2015 04:57:28 +0000 (14:57 +1000)]
tracker_test: Check for the error string instead of the type
The type changes from Go 1.4->1.5, and it's not worth tearing it apart.
Matt Joiner [Sun, 2 Aug 2015 04:30:33 +0000 (14:30 +1000)]
Track connection writes and flushes
Helps determine efficiency of the routine.
Matt Joiner [Sat, 1 Aug 2015 18:06:22 +0000 (04:06 +1000)]
Track the connection flags for completed handshakes
Matt Joiner [Sat, 1 Aug 2015 18:04:42 +0000 (04:04 +1000)]
Tidy up outbound connection code
Preparing to allow alternate dialing logic.
Matt Joiner [Sat, 1 Aug 2015 18:01:41 +0000 (04:01 +1000)]
Suppress a lot of noisy logging
Matt Joiner [Sat, 1 Aug 2015 17:55:48 +0000 (03:55 +1000)]
Explicitly import Torrent.InfoHash
Matt Joiner [Sat, 1 Aug 2015 17:53:37 +0000 (03:53 +1000)]
Comments
Matt Joiner [Wed, 22 Jul 2015 09:07:01 +0000 (19:07 +1000)]
fs: Remove errant logging
Matt Joiner [Tue, 21 Jul 2015 12:54:50 +0000 (22:54 +1000)]
cmd/torrent: Remove some dead code
Matt Joiner [Tue, 21 Jul 2015 12:54:02 +0000 (22:54 +1000)]
Torrent.BytesCompleted was racy
Matt Joiner [Tue, 21 Jul 2015 12:52:43 +0000 (22:52 +1000)]
Don't probe pieces when setting torrent storage
It blocks the caller, for potentially quite some time. I've tested without this for some time now.
Matt Joiner [Tue, 21 Jul 2015 12:51:15 +0000 (22:51 +1000)]
Hashing was blocking prioritization of pieces
Matt Joiner [Mon, 20 Jul 2015 08:48:23 +0000 (18:48 +1000)]
Move CI to drone.io
Codeship keeps breaking, and is too painful to use.
Matt Joiner [Sat, 18 Jul 2015 15:12:50 +0000 (01:12 +1000)]
Update README
Matt Joiner [Fri, 17 Jul 2015 11:45:44 +0000 (21:45 +1000)]
client.go: Missing perf import
Matt Joiner [Fri, 17 Jul 2015 11:07:01 +0000 (21:07 +1000)]
Several speedups in logic
Matt Joiner [Fri, 17 Jul 2015 11:04:43 +0000 (21:04 +1000)]
Downloading a chunk may mean the piece isn't wanted anymore
Hopefully this fixes a very rare logic error in replenishing connection requests for a piece that isn't wanted, yet is still in the connection piece request order.
Matt Joiner [Fri, 17 Jul 2015 10:59:26 +0000 (20:59 +1000)]
Hold client lock as little as possible in Reader.readAt
Matt Joiner [Fri, 17 Jul 2015 10:58:25 +0000 (20:58 +1000)]
Avoid holding client lock while scanning pieces in File.State
Some torrent data backends are expensive to query.
Matt Joiner [Wed, 15 Jul 2015 06:00:59 +0000 (16:00 +1000)]
Store chunk data without holding client lock
Matt Joiner [Wed, 15 Jul 2015 05:54:19 +0000 (15:54 +1000)]
Add fixes triggered by TestResponsive
Matt Joiner [Wed, 15 Jul 2015 05:51:42 +0000 (15:51 +1000)]
Add TestResponsive
Matt Joiner [Wed, 15 Jul 2015 05:31:18 +0000 (15:31 +1000)]
Allow chunk size to be specified per torrent
Matt Joiner [Wed, 15 Jul 2015 05:29:53 +0000 (15:29 +1000)]
When seeding, actually seed beyond 6 chunks
Matt Joiner [Sat, 4 Jul 2015 03:38:42 +0000 (13:38 +1000)]
Don't raise piece priority while hashing or if piece complete
Matt Joiner [Sat, 4 Jul 2015 03:31:46 +0000 (13:31 +1000)]
Merge branch 'master' of github.com:anacrolix/torrent
Matt Joiner [Sat, 4 Jul 2015 03:30:26 +0000 (13:30 +1000)]
cmd/torrent-metainfo-pprint: Don't print extra newline when -name is true
Matt Joiner [Thu, 2 Jul 2015 10:32:00 +0000 (20:32 +1000)]
Abandon the mailing list and gophers channel
Matt Joiner [Thu, 2 Jul 2015 10:31:15 +0000 (20:31 +1000)]
Move the gitter badge inline with the other badges
Matt Joiner [Thu, 2 Jul 2015 10:29:54 +0000 (20:29 +1000)]
Merge pull request #9 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
Matt Joiner [Mon, 29 Jun 2015 14:46:43 +0000 (00:46 +1000)]
Raise socketsPerTorrent to 80
Matt Joiner [Mon, 29 Jun 2015 14:46:24 +0000 (00:46 +1000)]
Some changes to writing torrent status
Matt Joiner [Mon, 29 Jun 2015 14:45:26 +0000 (00:45 +1000)]
Replace pruning timer with as-required connection dropping
Matt Joiner [Mon, 29 Jun 2015 14:35:47 +0000 (00:35 +1000)]
Adjust some expvars
Matt Joiner [Mon, 29 Jun 2015 09:37:52 +0000 (19:37 +1000)]
Implement Stringer on connection
Matt Joiner [Mon, 29 Jun 2015 09:36:08 +0000 (19:36 +1000)]
dht: Export some useful variables
Matt Joiner [Mon, 29 Jun 2015 09:34:42 +0000 (19:34 +1000)]
dht: Suppress error during bootstrapping because Server already closed
Matt Joiner [Sun, 28 Jun 2015 06:41:51 +0000 (16:41 +1000)]
Rename and sort some of the expvars
Matt Joiner [Sun, 28 Jun 2015 06:40:46 +0000 (16:40 +1000)]
Comments and update version strings
Matt Joiner [Sun, 28 Jun 2015 06:39:04 +0000 (16:39 +1000)]
Several trivial fixes
Matt Joiner [Sat, 27 Jun 2015 09:49:58 +0000 (19:49 +1000)]
Merge pull request #19 from scr4t/master
Make torrent-pick work with latest changes
Alexander Baranov [Thu, 25 Jun 2015 18:02:14 +0000 (21:02 +0300)]
Make torrent-pick work with latest changes
Matt Joiner [Mon, 22 Jun 2015 16:03:08 +0000 (02:03 +1000)]
fs: Fix test when :50007 already in use
Matt Joiner [Mon, 22 Jun 2015 16:02:32 +0000 (02:02 +1000)]
TODO
Matt Joiner [Mon, 22 Jun 2015 16:02:22 +0000 (02:02 +1000)]
Move methods to correct file
Matt Joiner [Mon, 22 Jun 2015 13:02:29 +0000 (23:02 +1000)]
Upstream bazil.org/fuse changed again ಠ_ಠ
Matt Joiner [Mon, 22 Jun 2015 09:52:00 +0000 (19:52 +1000)]
TODO
Matt Joiner [Mon, 22 Jun 2015 09:50:29 +0000 (19:50 +1000)]
cmd/torrent-metainfo-pprint: Output JSON instead
Matt Joiner [Mon, 22 Jun 2015 09:48:50 +0000 (19:48 +1000)]
Document ConfigDir
Matt Joiner [Mon, 22 Jun 2015 09:48:30 +0000 (19:48 +1000)]
Clarify downloaded chunk counters
Matt Joiner [Mon, 22 Jun 2015 09:46:26 +0000 (19:46 +1000)]
Print peer IDs as escaped ascii
Matt Joiner [Mon, 22 Jun 2015 09:44:59 +0000 (19:44 +1000)]
Move IP blocklist loading into iplist package
Matt Joiner [Mon, 22 Jun 2015 09:43:22 +0000 (19:43 +1000)]
Add benchmark for adding a torrent with a lot of pieces
Matt Joiner [Tue, 16 Jun 2015 07:14:15 +0000 (17:14 +1000)]
Small tweak to readahead, and fix the tests
Matt Joiner [Tue, 16 Jun 2015 06:57:47 +0000 (16:57 +1000)]
Improve uploading/seeding
Matt Joiner [Tue, 16 Jun 2015 06:54:12 +0000 (16:54 +1000)]
Make readahead always at least 2 blocks.
Matt Joiner [Mon, 8 Jun 2015 08:16:29 +0000 (18:16 +1000)]
Fix rare crash due to bad DHT node IDs
Matt Joiner [Mon, 8 Jun 2015 08:16:01 +0000 (18:16 +1000)]
Don't try to connect again without encryption, if encryption is disabled
Matt Joiner [Thu, 4 Jun 2015 04:25:52 +0000 (14:25 +1000)]
Clarify Example_fileReader
Matt Joiner [Wed, 3 Jun 2015 12:44:03 +0000 (22:44 +1000)]
Reduce log noise due to uTP connection timeouts
Matt Joiner [Wed, 3 Jun 2015 12:43:40 +0000 (22:43 +1000)]
Fix rare single-torrent stall due to obsolete ceaseNetworking call
Only occurred if you have a data backend that can drop completed pieces, and it happened that you wanted to redownload data that had been dropped after completely downloading the torrent in the past.
Matt Joiner [Wed, 3 Jun 2015 03:48:57 +0000 (13:48 +1000)]
Fix compile error in example
Matt Joiner [Wed, 3 Jun 2015 03:36:27 +0000 (13:36 +1000)]
Retry Reader reads when data is unexpectedly missing
Matt Joiner [Wed, 3 Jun 2015 03:31:27 +0000 (13:31 +1000)]
cmd/torrent-pick: gofmt and sortimports
Matt Joiner [Wed, 3 Jun 2015 03:30:55 +0000 (13:30 +1000)]
Docs and comments
Matt Joiner [Tue, 2 Jun 2015 14:18:24 +0000 (00:18 +1000)]
Merge branch 'master' of github.com:anacrolix/torrent
Matt Joiner [Tue, 2 Jun 2015 14:17:58 +0000 (00:17 +1000)]
Add some metainfo validation
Matt Joiner [Tue, 2 Jun 2015 14:16:38 +0000 (00:16 +1000)]
Test bad "completed" piece
Matt Joiner [Tue, 2 Jun 2015 14:14:55 +0000 (00:14 +1000)]
torrentfs: Fix bad import
Matt Joiner [Tue, 2 Jun 2015 14:03:43 +0000 (00:03 +1000)]
Miscellaneous changes
Matt Joiner [Tue, 2 Jun 2015 14:00:25 +0000 (00:00 +1000)]
Fix a few data races
Matt Joiner [Tue, 2 Jun 2015 13:59:25 +0000 (23:59 +1000)]
Upstream bazil.org/fuse changes again...
Matt Joiner [Tue, 2 Jun 2015 13:58:49 +0000 (23:58 +1000)]
Fix race to set IPBlocklist on DHT before it bootstraps and serves
Matt Joiner [Mon, 1 Jun 2015 20:28:07 +0000 (06:28 +1000)]
Merge pull request #16 from scr4t/master
torrent-pick tool
Alexander Baranov [Mon, 1 Jun 2015 20:12:27 +0000 (23:12 +0300)]
remove obsolete spaces
Alexander Baranov [Mon, 1 Jun 2015 20:11:45 +0000 (23:11 +0300)]
Only wait for io.Copy; Remove obsolete from client
Alexander Baranov [Mon, 1 Jun 2015 19:58:21 +0000 (22:58 +0300)]
Remove obsolete spaces
Alexander Baranov [Mon, 1 Jun 2015 19:56:10 +0000 (22:56 +0300)]
Use higher-level API to get file
Matt Joiner [Mon, 1 Jun 2015 08:26:32 +0000 (18:26 +1000)]
AccessTime helper moved to missinggo
Matt Joiner [Mon, 1 Jun 2015 08:23:35 +0000 (18:23 +1000)]
Changes to the way piece prioritization affects the piece