Commit Graph

283 Commits

Author SHA1 Message Date
Matt Joiner 963918ac90 Add UTP support, disable TCP for now. DHT moves to another port 2014-11-16 13:29:31 -06:00
Matt Joiner eeae2d3285 Actually announce to DHT, don't just get peers 2014-11-16 13:18:08 -06:00
Matt Joiner 86de81fba8 Tidy up address handling 2014-11-16 13:16:26 -06:00
Matt Joiner 1460e835c2 Add dht AnnouncePeer 2014-11-16 13:08:33 -06:00
Matt Joiner 0b8ddd8720 Fix localhost assumption in connecting 2 clients in tests 2014-11-16 13:06:32 -06:00
Matt Joiner 9cd72851e0 TODO 2014-11-16 13:05:38 -06:00
Matt Joiner e3048403ce check that util.CompactPeer is unmarshaled from the correct number of bytes 2014-11-16 13:05:19 -06:00
Matt Joiner 7caf3b32eb logonce is a package that prints each distinct message only once 2014-11-16 13:04:44 -06:00
Matt Joiner 3682c537a4 TODO 2014-09-25 18:06:57 +10:00
Matt Joiner ecf2639856 Add magnet-metainfo, tool to download magnet to torrent file 2014-09-25 18:05:52 +10:00
Matt Joiner bcc814968b TODO 2014-09-15 03:37:57 +10:00
Matt Joiner 6942eed15f Lazily hash pieces where possible 2014-09-15 03:25:53 +10:00
Matt Joiner 7eaef48f9e Fix crash when piece hash completes for dropped torrent 2014-09-14 04:07:05 +10:00
Matt Joiner e30f2777fc Missing torrent functions 2014-09-14 04:06:17 +10:00
Matt Joiner 1cfd6ecdcb Improvements arising from attempting to delay piece hashing until necessary 2014-09-14 04:03:23 +10:00
Matt Joiner 5b24ac66fa TODO 2014-09-14 03:59:51 +10:00
Matt Joiner 979192cbfd Treat PORT messages with port of 0 to mean on the remote port 2014-09-14 03:59:31 +10:00
Matt Joiner bea5c1a502 Missed this dataRead call in an earlier commit 2014-09-14 03:58:13 +10:00
Matt Joiner dc2b622be1 Track failed piece hashes 2014-09-14 03:57:51 +10:00
Matt Joiner 97ae59dfaf Improve the data waiter system 2014-09-14 03:50:15 +10:00
Matt Joiner 4bcfdc8fc9 Suppress metadata extension message errors from Xunlei client 2014-09-14 03:47:47 +10:00
Matt Joiner f2bb5b1c56 Increase peer connection buffer size from default (4096) to 20KiB
This reduces syscall overhead which becoming noticeable.
2014-09-14 03:47:06 +10:00
Matt Joiner 7fccb77ebe Treat ECONNRESET and i/o timeout from peers as EOF 2014-09-14 03:45:38 +10:00
Matt Joiner 6aa5038234 On torrentfs read, read the full requested buffer and don't return early 2014-09-14 03:44:07 +10:00
Matt Joiner 0217bc6163 Improvements to written status 2014-09-14 03:43:11 +10:00
Matt Joiner dcc3de7a70 New worst conn algorithm that incorporates useful/unwanted chunk download rates 2014-09-14 03:40:35 +10:00
Matt Joiner ced8a7b78f New worst conns algorithm that takes into account connection useful chunk hit rate 2014-09-11 20:31:31 +10:00
Matt Joiner c0d7b2fbf2 Rename and improve downloaded chunk counters and status per connection 2014-09-11 20:30:13 +10:00
Matt Joiner 5d35e10706 Tighten responsive download strategy partial piece request filling 2014-09-11 14:22:29 +10:00
Matt Joiner 2b360b641c Don't log extension message parsing errors from -SD0100- 2014-09-11 14:20:47 +10:00
Matt Joiner daa3df5f7b Check magnet URI scheme 2014-09-11 14:19:23 +10:00
Matt Joiner 6c1c339ae4 Clean up magnet URI parsing errors in dirwatch 2014-09-11 14:18:59 +10:00
Matt Joiner 22edc2b4f6 Update TODO 2014-08-28 10:09:33 +10:00
Matt Joiner 689fe85134 Disable TCP linger for peer connections 2014-08-28 10:06:57 +10:00
Matt Joiner ed08bd2837 Introduce socket/torrent limits, work in progress 2014-08-28 10:06:36 +10:00
Matt Joiner d5a2bc67f7 Misc tweaks 2014-08-28 10:05:41 +10:00
Matt Joiner e09e21fab2 Fixes to closing torrents and connections 2014-08-28 10:04:44 +10:00
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