]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Sat, 13 Sep 2014 17:58:13 +0000 (03:58 +1000)]
Missed this dataRead call in an earlier commit
Matt Joiner [Sat, 13 Sep 2014 17:57:51 +0000 (03:57 +1000)]
Track failed piece hashes
Matt Joiner [Sat, 13 Sep 2014 17:50:15 +0000 (03:50 +1000)]
Improve the data waiter system
Matt Joiner [Sat, 13 Sep 2014 17:47:47 +0000 (03:47 +1000)]
Suppress metadata extension message errors from Xunlei client
Matt Joiner [Sat, 13 Sep 2014 17:47:06 +0000 (03:47 +1000)]
Increase peer connection buffer size from default (4096) to 20KiB
This reduces syscall overhead which becoming noticeable.
Matt Joiner [Sat, 13 Sep 2014 17:45:38 +0000 (03:45 +1000)]
Treat ECONNRESET and i/o timeout from peers as EOF
Matt Joiner [Sat, 13 Sep 2014 17:44:07 +0000 (03:44 +1000)]
On torrentfs read, read the full requested buffer and don't return early
Matt Joiner [Sat, 13 Sep 2014 17:43:11 +0000 (03:43 +1000)]
Improvements to written status
Matt Joiner [Sat, 13 Sep 2014 17:40:35 +0000 (03:40 +1000)]
New worst conn algorithm that incorporates useful/unwanted chunk download rates
Matt Joiner [Thu, 11 Sep 2014 10:31:31 +0000 (20:31 +1000)]
New worst conns algorithm that takes into account connection useful chunk hit rate
Matt Joiner [Thu, 11 Sep 2014 10:30:13 +0000 (20:30 +1000)]
Rename and improve downloaded chunk counters and status per connection
Matt Joiner [Thu, 11 Sep 2014 04:22:29 +0000 (14:22 +1000)]
Tighten responsive download strategy partial piece request filling
Matt Joiner [Thu, 11 Sep 2014 04:20:47 +0000 (14:20 +1000)]
Don't log extension message parsing errors from -SD0100-
Matt Joiner [Thu, 11 Sep 2014 04:19:23 +0000 (14:19 +1000)]
Check magnet URI scheme
Matt Joiner [Thu, 11 Sep 2014 04:18:59 +0000 (14:18 +1000)]
Clean up magnet URI parsing errors in dirwatch
Matt Joiner [Thu, 28 Aug 2014 00:09:33 +0000 (10:09 +1000)]
Update TODO
Matt Joiner [Thu, 28 Aug 2014 00:06:57 +0000 (10:06 +1000)]
Disable TCP linger for peer connections
Matt Joiner [Thu, 28 Aug 2014 00:06:36 +0000 (10:06 +1000)]
Introduce socket/torrent limits, work in progress
Matt Joiner [Thu, 28 Aug 2014 00:05:41 +0000 (10:05 +1000)]
Misc tweaks
Matt Joiner [Thu, 28 Aug 2014 00:04:44 +0000 (10:04 +1000)]
Fixes to closing torrents and connections
Matt Joiner [Thu, 28 Aug 2014 00:04:00 +0000 (10:04 +1000)]
Great complexifying of the responsive download strategy
Should be better after 4 days of experimentation...
Matt Joiner [Wed, 27 Aug 2014 23:45:58 +0000 (09:45 +1000)]
Forgot to commit duplicateConnsAvoided expvar
Matt Joiner [Wed, 27 Aug 2014 23:45:20 +0000 (09:45 +1000)]
Keep track of ongoing handshakes and add timeouts to connection sockets
Matt Joiner [Wed, 27 Aug 2014 23:39:27 +0000 (09:39 +1000)]
Cease networking on a torrent if it's finished and we're not going to seed
Matt Joiner [Wed, 27 Aug 2014 23:35:13 +0000 (09:35 +1000)]
Avoid connecting to the same peer twice by address
Matt Joiner [Wed, 27 Aug 2014 23:32:49 +0000 (09:32 +1000)]
Add useful new metrics to connection
Matt Joiner [Wed, 27 Aug 2014 23:31:05 +0000 (09:31 +1000)]
Rename connection.closed->closing
Matt Joiner [Wed, 27 Aug 2014 22:09:41 +0000 (08:09 +1000)]
Fix crashes in torrentfs.fileNode.Read
Matt Joiner [Wed, 27 Aug 2014 22:08:59 +0000 (08:08 +1000)]
Make use of FUSE readahead
Matt Joiner [Wed, 27 Aug 2014 22:08:09 +0000 (08:08 +1000)]
Add some counters and tracking to torrentfs events
Matt Joiner [Wed, 27 Aug 2014 22:05:06 +0000 (08:05 +1000)]
Some fixes and improvements to dirwatch
Matt Joiner [Wed, 27 Aug 2014 22:04:41 +0000 (08:04 +1000)]
A type for heapifying worst performing conns
Matt Joiner [Wed, 27 Aug 2014 22:03:55 +0000 (08:03 +1000)]
Add a test for double Close of torrent.torrent
Matt Joiner [Mon, 25 Aug 2014 12:15:45 +0000 (22:15 +1000)]
Fix a few crashes
Matt Joiner [Mon, 25 Aug 2014 12:15:18 +0000 (22:15 +1000)]
Some logic improvements to torrentfs.fileNode.Read
Matt Joiner [Mon, 25 Aug 2014 12:14:31 +0000 (22:14 +1000)]
dht.Server.Ping didn't lock structure
Matt Joiner [Mon, 25 Aug 2014 12:14:10 +0000 (22:14 +1000)]
Misc trivial improvements
Matt Joiner [Mon, 25 Aug 2014 12:12:50 +0000 (22:12 +1000)]
Add a date to the metadata packet client version string
Matt Joiner [Mon, 25 Aug 2014 12:12:16 +0000 (22:12 +1000)]
Implement the DHT Port message
Matt Joiner [Sun, 24 Aug 2014 20:01:09 +0000 (06:01 +1000)]
TODO
Matt Joiner [Sun, 24 Aug 2014 20:01:05 +0000 (06:01 +1000)]
Stop announcing on DHT if a torrent is removed
Matt Joiner [Sun, 24 Aug 2014 20:00:29 +0000 (06:00 +1000)]
Make NoUpload a client configuration option and use it for torrentfs
Matt Joiner [Sun, 24 Aug 2014 19:31:34 +0000 (05:31 +1000)]
Improve incomplete piece ordering, responsive download strategy
Matt Joiner [Sun, 24 Aug 2014 19:25:52 +0000 (05:25 +1000)]
Use CopyExact when extracting handshake read
Matt Joiner [Sun, 24 Aug 2014 19:24:18 +0000 (05:24 +1000)]
Let client.DataWaiter have its own mutex
Matt Joiner [Sun, 24 Aug 2014 19:23:28 +0000 (05:23 +1000)]
Make use of levelmu to prioritize client.TorrentReadAt
Matt Joiner [Sun, 24 Aug 2014 19:22:34 +0000 (05:22 +1000)]
Add levelmu, a package implementing priority mutex with levels
Matt Joiner [Sat, 23 Aug 2014 20:54:14 +0000 (06:54 +1000)]
Add some checks to TorrentReadAt for 0 byte reads
Matt Joiner [Sat, 23 Aug 2014 17:11:35 +0000 (03:11 +1000)]
Add piece length to torrent status
Matt Joiner [Sat, 23 Aug 2014 17:10:47 +0000 (03:10 +1000)]
Count posted cancels
Matt Joiner [Sat, 23 Aug 2014 17:09:13 +0000 (03:09 +1000)]
TODO
Matt Joiner [Sat, 23 Aug 2014 17:09:02 +0000 (03:09 +1000)]
Optimize torrent.Length()
Matt Joiner [Sat, 23 Aug 2014 17:08:11 +0000 (03:08 +1000)]
Got a nice working algorithm for responsive download strategy
Matt Joiner [Sat, 23 Aug 2014 17:04:07 +0000 (03:04 +1000)]
Add a counter for optimized cancels
Matt Joiner [Fri, 22 Aug 2014 07:47:44 +0000 (17:47 +1000)]
Count unexpected cancels received
Matt Joiner [Fri, 22 Aug 2014 07:40:22 +0000 (17:40 +1000)]
Extend the dial timeout to 30s
Matt Joiner [Fri, 22 Aug 2014 07:40:10 +0000 (17:40 +1000)]
Missing Close
Matt Joiner [Fri, 22 Aug 2014 07:39:18 +0000 (17:39 +1000)]
Clarify EOF in message decoding
Matt Joiner [Fri, 22 Aug 2014 07:37:18 +0000 (17:37 +1000)]
Avoid allocations in shuffledPendingChunkSpecs
Matt Joiner [Fri, 22 Aug 2014 07:35:15 +0000 (17:35 +1000)]
Ditch ordering of prioritized chunks
Matt Joiner [Fri, 22 Aug 2014 07:33:17 +0000 (17:33 +1000)]
Improve status and logging
Matt Joiner [Fri, 22 Aug 2014 07:31:03 +0000 (17:31 +1000)]
Simplify dirwatch to scan the whole directory on changes
Matt Joiner [Thu, 21 Aug 2014 17:45:31 +0000 (03:45 +1000)]
Improve DHT distance tests
Matt Joiner [Thu, 21 Aug 2014 17:42:38 +0000 (03:42 +1000)]
Extract function generating all chunk specs for a piece
Matt Joiner [Thu, 21 Aug 2014 17:42:00 +0000 (03:42 +1000)]
Fix crash in metadata requests beyond available info bytes
Matt Joiner [Thu, 21 Aug 2014 15:37:34 +0000 (01:37 +1000)]
Improve the log message for torrentfs reads
Matt Joiner [Thu, 21 Aug 2014 15:33:13 +0000 (01:33 +1000)]
Export some log events via expvar instead
Matt Joiner [Thu, 21 Aug 2014 15:26:41 +0000 (01:26 +1000)]
Fix error in bitfield correction expression and off by one condition when metadata is completed
Matt Joiner [Thu, 21 Aug 2014 15:25:18 +0000 (01:25 +1000)]
Remove torrent from download strategy when dropped
Matt Joiner [Thu, 21 Aug 2014 11:12:50 +0000 (21:12 +1000)]
Add test for dht.NewServer and change StopServing to Close
Matt Joiner [Thu, 21 Aug 2014 11:10:19 +0000 (21:10 +1000)]
Store pending peers in a dict to prevent duplicates
Matt Joiner [Thu, 21 Aug 2014 11:08:56 +0000 (21:08 +1000)]
Clean up imports
Matt Joiner [Thu, 21 Aug 2014 11:07:44 +0000 (21:07 +1000)]
Move some tracker.CompactPeer into util
Matt Joiner [Thu, 21 Aug 2014 08:24:19 +0000 (18:24 +1000)]
Add CopyExact util function
Matt Joiner [Thu, 21 Aug 2014 08:13:41 +0000 (18:13 +1000)]
Add TODO file
Matt Joiner [Thu, 21 Aug 2014 08:12:49 +0000 (18:12 +1000)]
Improve the internal connection and handshake logic
Matt Joiner [Thu, 21 Aug 2014 08:07:06 +0000 (18:07 +1000)]
Tidy up the torrent and DHT APIs
Matt Joiner [Sat, 16 Aug 2014 14:44:05 +0000 (00:44 +1000)]
Print dht-ping reponses with %q
Matt Joiner [Thu, 24 Jul 2014 03:46:49 +0000 (13:46 +1000)]
Triage upload contention due to lack of uploader routine
Matt Joiner [Thu, 24 Jul 2014 03:46:14 +0000 (13:46 +1000)]
Triage announcer leak on dropped torrents
Matt Joiner [Thu, 24 Jul 2014 03:45:49 +0000 (13:45 +1000)]
cmd/torrentfs: Missing listener on client
Matt Joiner [Thu, 24 Jul 2014 03:45:18 +0000 (13:45 +1000)]
dht: Message only the most likely peers
Matt Joiner [Thu, 24 Jul 2014 03:44:23 +0000 (13:44 +1000)]
Support watching for ".magnet" files in torrent directory
Matt Joiner [Thu, 24 Jul 2014 03:43:45 +0000 (13:43 +1000)]
Comments and logging
Matt Joiner [Thu, 24 Jul 2014 03:43:11 +0000 (13:43 +1000)]
Improve client status
Matt Joiner [Thu, 24 Jul 2014 03:42:31 +0000 (13:42 +1000)]
Move priority management entirely into the download strategies
Matt Joiner [Wed, 23 Jul 2014 04:55:38 +0000 (14:55 +1000)]
torrentfs: Support torrents that don't yet have their metadata
Matt Joiner [Tue, 22 Jul 2014 15:54:58 +0000 (01:54 +1000)]
Abstract the status HTTP server into package util
Matt Joiner [Tue, 22 Jul 2014 15:54:11 +0000 (01:54 +1000)]
torrentfs: Match the active torrents to those found in the given directory
Matt Joiner [Tue, 22 Jul 2014 15:51:30 +0000 (01:51 +1000)]
Fix missed unlock adding peers to non-existent torrent
Matt Joiner [Tue, 22 Jul 2014 15:50:49 +0000 (01:50 +1000)]
Fix crash printing client status if DHT isn't enabled
Matt Joiner [Tue, 22 Jul 2014 11:45:12 +0000 (21:45 +1000)]
Implement "yourip" field of extension protocol handshake
Matt Joiner [Thu, 17 Jul 2014 16:39:09 +0000 (02:39 +1000)]
Script that unblocks unit tests frozen in FUSE
Matt Joiner [Thu, 17 Jul 2014 16:38:32 +0000 (02:38 +1000)]
Fix peer_protocol test
Matt Joiner [Thu, 17 Jul 2014 16:38:11 +0000 (02:38 +1000)]
Put checks in place for peer addresses with a zero Port
Matt Joiner [Thu, 17 Jul 2014 16:37:33 +0000 (02:37 +1000)]
Error in connection.writer goroutine wasn't killing the connection
Matt Joiner [Thu, 17 Jul 2014 06:05:21 +0000 (16:05 +1000)]
dht_test: Add commented out test I haven't resolved yet
Matt Joiner [Thu, 17 Jul 2014 06:04:56 +0000 (16:04 +1000)]
TODO
Matt Joiner [Thu, 17 Jul 2014 06:04:43 +0000 (16:04 +1000)]
Show piece counts for peers in status page
Lets me visually check that connections agree on number of pieces.
Matt Joiner [Thu, 17 Jul 2014 06:03:59 +0000 (16:03 +1000)]
dht: Timeout goroutines waiting for transaction responses