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
|
ecf2639856
|
Add magnet-metainfo, tool to download magnet to torrent file
|
2014-09-25 18:05:52 +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
|
1cfd6ecdcb
|
Improvements arising from attempting to delay piece hashing until necessary
|
2014-09-14 04:03:23 +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
|
c0d7b2fbf2
|
Rename and improve downloaded chunk counters and status per connection
|
2014-09-11 20:30:13 +10:00 |
Matt Joiner
|
2b360b641c
|
Don't log extension message parsing errors from -SD0100-
|
2014-09-11 14:20:47 +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
|
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 |