Commit Graph

1374 Commits

Author SHA1 Message Date
Matt Joiner 727aac204f Expvar successful and unsuccessful dials 2014-11-17 01:44:06 -06:00
Matt Joiner 8d96195b0c Connect to peers using both UTP and TCP; Share UTP port with DHT 2014-11-16 23:27:01 -06:00
Matt Joiner 32d31188fb loghttp: Try successive port numbers until available 2014-11-16 23:24:25 -06:00
Matt Joiner ad7cf646c8 Open new connections when a connection is dropped 2014-11-16 21:37:34 -06:00
Matt Joiner 5bf56f6d8d Tunnel addrs through dht as an internal interface to make switching easier 2014-11-16 21:22:29 -06:00
Matt Joiner a5adb399f2 Change cmd/torrent default ports 2014-11-16 21:21:13 -06:00
Matt Joiner 34a47a100e Add util AddrIP and AddrPort functions 2014-11-16 21:20:49 -06:00
Matt Joiner 77e064a0f5 Allow the client ID to be set in the config 2014-11-16 13:54:43 -06:00
Matt Joiner c1721b61ef Prevent clients from connecting to other clients with the same ID 2014-11-16 13:54:00 -06:00
Matt Joiner dcac7db0f0 Fix CopyExact to work on a source string 2014-11-16 13:52:37 -06:00
Matt Joiner 3489a60154 Fix broken commit 2014-11-16 13:51:59 -06:00
Matt Joiner 4fead22cd2 Use more generic net error type to detect timeouts 2014-11-16 13:31:11 -06:00
Matt Joiner e37d369864 Move half-open tracking into per-torrent 2014-11-16 13:30:44 -06:00
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