Commit Graph

1374 Commits

Author SHA1 Message Date
Matt Joiner 1507d803bd Great complexifying of the responsive download strategy
Should be better after 4 days of experimentation...
2014-08-28 10:04:00 +10:00
Matt Joiner 7e19c9c12b Forgot to commit duplicateConnsAvoided expvar 2014-08-28 09:45:58 +10:00
Matt Joiner e79f1bcbf7 Keep track of ongoing handshakes and add timeouts to connection sockets 2014-08-28 09:45:20 +10:00
Matt Joiner c33b889b5e Cease networking on a torrent if it's finished and we're not going to seed 2014-08-28 09:39:27 +10:00
Matt Joiner 2765ad04ca Avoid connecting to the same peer twice by address 2014-08-28 09:35:13 +10:00
Matt Joiner aeee372506 Add useful new metrics to connection 2014-08-28 09:32:49 +10:00
Matt Joiner 035edbaf85 Rename connection.closed->closing 2014-08-28 09:31:05 +10:00
Matt Joiner 5668582c8e Fix crashes in torrentfs.fileNode.Read 2014-08-28 08:09:41 +10:00
Matt Joiner f94e49a8ba Make use of FUSE readahead 2014-08-28 08:08:59 +10:00
Matt Joiner 94e03a7928 Add some counters and tracking to torrentfs events 2014-08-28 08:08:09 +10:00
Matt Joiner 01a9c73428 Some fixes and improvements to dirwatch 2014-08-28 08:05:06 +10:00
Matt Joiner 8f89d030cc A type for heapifying worst performing conns 2014-08-28 08:04:41 +10:00
Matt Joiner 89be570636 Add a test for double Close of torrent.torrent 2014-08-28 08:03:55 +10:00
Matt Joiner 7dd932bd5a Fix a few crashes 2014-08-25 22:15:45 +10:00
Matt Joiner 1bb5ee9006 Some logic improvements to torrentfs.fileNode.Read 2014-08-25 22:15:18 +10:00
Matt Joiner d17a2958a6 dht.Server.Ping didn't lock structure 2014-08-25 22:14:31 +10:00
Matt Joiner 2d9c22ae1e Misc trivial improvements 2014-08-25 22:14:10 +10:00
Matt Joiner 891745360e Add a date to the metadata packet client version string 2014-08-25 22:12:50 +10:00
Matt Joiner c9bc892789 Implement the DHT Port message 2014-08-25 22:12:16 +10:00
Matt Joiner 28e80062b6 TODO 2014-08-25 06:01:09 +10:00
Matt Joiner 6aa459dc0d Stop announcing on DHT if a torrent is removed 2014-08-25 06:01:05 +10:00
Matt Joiner 78ed2c74d0 Make NoUpload a client configuration option and use it for torrentfs 2014-08-25 06:00:29 +10:00
Matt Joiner c8f335182f Improve incomplete piece ordering, responsive download strategy 2014-08-25 05:31:34 +10:00
Matt Joiner 8f89d7a07e Use CopyExact when extracting handshake read 2014-08-25 05:25:52 +10:00
Matt Joiner 0b01c597c0 Let client.DataWaiter have its own mutex 2014-08-25 05:24:18 +10:00
Matt Joiner 8db966cd42 Make use of levelmu to prioritize client.TorrentReadAt 2014-08-25 05:23:28 +10:00
Matt Joiner caa1d65bc8 Add levelmu, a package implementing priority mutex with levels 2014-08-25 05:22:34 +10:00
Matt Joiner 8f065e473f Add some checks to TorrentReadAt for 0 byte reads 2014-08-24 06:54:14 +10:00
Matt Joiner 6dce2cbf76 Add piece length to torrent status 2014-08-24 03:11:35 +10:00
Matt Joiner b72b05f495 Count posted cancels 2014-08-24 03:10:47 +10:00
Matt Joiner 2a3243db2a TODO 2014-08-24 03:09:13 +10:00
Matt Joiner ed8ee625c9 Optimize torrent.Length() 2014-08-24 03:09:02 +10:00
Matt Joiner 2b079e4a9d Got a nice working algorithm for responsive download strategy 2014-08-24 03:08:11 +10:00
Matt Joiner 1ff7414869 Add a counter for optimized cancels 2014-08-24 03:04:07 +10:00
Matt Joiner c1896c4d46 Count unexpected cancels received 2014-08-22 17:47:44 +10:00
Matt Joiner 713cf7e71f Extend the dial timeout to 30s 2014-08-22 17:40:22 +10:00
Matt Joiner d3d6f460c9 Missing Close 2014-08-22 17:40:10 +10:00
Matt Joiner a2fabedfa2 Clarify EOF in message decoding 2014-08-22 17:39:18 +10:00
Matt Joiner 063e02cbfd Avoid allocations in shuffledPendingChunkSpecs 2014-08-22 17:37:18 +10:00
Matt Joiner 189f1e364e Ditch ordering of prioritized chunks 2014-08-22 17:35:15 +10:00
Matt Joiner 95d5d4a30c Improve status and logging 2014-08-22 17:33:17 +10:00
Matt Joiner 60df4e100c Simplify dirwatch to scan the whole directory on changes 2014-08-22 17:31:03 +10:00
Matt Joiner 3e26952f2f Improve DHT distance tests 2014-08-22 03:45:31 +10:00
Matt Joiner 2410c3eddd Extract function generating all chunk specs for a piece 2014-08-22 03:42:38 +10:00
Matt Joiner 00a4e9bc11 Fix crash in metadata requests beyond available info bytes 2014-08-22 03:42:00 +10:00
Matt Joiner f4687ba28f Improve the log message for torrentfs reads 2014-08-22 01:37:34 +10:00
Matt Joiner edf0a13128 Export some log events via expvar instead 2014-08-22 01:33:13 +10:00
Matt Joiner 848636f830 Fix error in bitfield correction expression and off by one condition when metadata is completed 2014-08-22 01:26:41 +10:00
Matt Joiner 702665f9f3 Remove torrent from download strategy when dropped 2014-08-22 01:25:18 +10:00
Matt Joiner 4a7c94d04d Add test for dht.NewServer and change StopServing to Close 2014-08-21 21:12:50 +10:00