Commit Graph

143 Commits

Author SHA1 Message Date
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 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 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 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 8f065e473f Add some checks to TorrentReadAt for 0 byte reads 2014-08-24 06:54:14 +10:00
Matt Joiner b72b05f495 Count posted cancels 2014-08-24 03:10:47 +10:00
Matt Joiner 2b079e4a9d Got a nice working algorithm for responsive download strategy 2014-08-24 03:08:11 +10:00
Matt Joiner c1896c4d46 Count unexpected cancels received 2014-08-22 17:47:44 +10:00
Matt Joiner 95d5d4a30c Improve status and logging 2014-08-22 17:33:17 +10:00
Matt Joiner edf0a13128 Export some log events via expvar instead 2014-08-22 01:33:13 +10:00
Matt Joiner 702665f9f3 Remove torrent from download strategy when dropped 2014-08-22 01:25:18 +10:00
Matt Joiner e8f184a7bf Store pending peers in a dict to prevent duplicates 2014-08-21 21:10:19 +10:00
Matt Joiner 5c1492bffe Add CopyExact util function 2014-08-21 18:24:19 +10:00
Matt Joiner 52fc7c7205 Improve the internal connection and handshake logic 2014-08-21 18:12:49 +10:00
Matt Joiner 40fd1d647c Tidy up the torrent and DHT APIs 2014-08-21 18:07:06 +10:00
Matt Joiner 466c85a1b2 Triage upload contention due to lack of uploader routine 2014-07-24 13:46:49 +10:00
Matt Joiner 3a852886ad Triage announcer leak on dropped torrents 2014-07-24 13:46:14 +10:00
Matt Joiner 9895205e19 Comments and logging 2014-07-24 13:43:45 +10:00
Matt Joiner ec1c4b0cf8 Improve client status 2014-07-24 13:43:11 +10:00
Matt Joiner ef7c4f4120 Move priority management entirely into the download strategies 2014-07-24 13:42:31 +10:00
Matt Joiner 6158b1f6ec torrentfs: Match the active torrents to those found in the given directory 2014-07-23 01:54:11 +10:00
Matt Joiner 6d52918540 Fix missed unlock adding peers to non-existent torrent 2014-07-23 01:51:30 +10:00
Matt Joiner 3ae290fef6 Fix crash printing client status if DHT isn't enabled 2014-07-23 01:50:49 +10:00
Matt Joiner 244c70bc83 Implement "yourip" field of extension protocol handshake 2014-07-22 21:45:12 +10:00
Matt Joiner 7f6987b2a4 Error in connection.writer goroutine wasn't killing the connection 2014-07-18 02:37:33 +10:00
Matt Joiner 37eece626b TODO 2014-07-17 16:04:56 +10:00
Matt Joiner b467f15bae Fix goroutine leak for connection.writer 2014-07-17 16:02:30 +10:00
Matt Joiner a258b9ab21 Squash some more debug messages, fix some other error handling 2014-07-17 16:01:48 +10:00
Matt Joiner b159968081 Missing newline between torrents in client status 2014-07-17 15:58:33 +10:00
Matt Joiner 5cda3affb4 Memory leak because queued peer requests aren't treated yet 2014-07-16 17:08:47 +10:00
Matt Joiner 583d5c266a Squash some unhelpful log messages now that stuff is available in status 2014-07-16 17:08:25 +10:00
Matt Joiner 8910eb660d Add more information I've needed to the status page 2014-07-16 17:07:28 +10:00
Matt Joiner 0d27ae7fd1 Make the discovery source for a connection more descriptive 2014-07-16 17:06:18 +10:00
Matt Joiner 9e8a72ff1d Invalidating metadata would cause a crash when metadata pieces kept arriving 2014-07-14 23:12:52 +10:00
Matt Joiner 61b87222d4 Client would attempt to download if unchoked before the metadata is available 2014-07-14 23:12:15 +10:00
Matt Joiner 28afa748e7 API changes in github.com/anacrolix/libtorgo 2014-07-13 17:37:12 +10:00