Matt Joiner
|
48582796ed
|
Add pending peers high water mark to stop excessively long running DHT queries
|
2014-12-08 21:58:49 -06:00 |
Matt Joiner
|
4be7b11a3b
|
Use bitbucket.org/anacrolix/sync
|
2014-12-08 17:00:38 -06:00 |
Matt Joiner
|
d9793a78ba
|
Improve announce logging
|
2014-12-08 16:57:42 -06:00 |
Matt Joiner
|
1e3a00979d
|
Fix UTP still listening despite attempting to temporarily disable it
|
2014-12-06 21:19:56 -06:00 |
Matt Joiner
|
51306ccbb2
|
Expose various DHT state
|
2014-12-06 21:19:02 -06:00 |
Matt Joiner
|
d58ca65a9c
|
pieceordering: Rename RemovePiece->DeletePiece and complete tests
Note that tests currently fail due to bug in skiplist?
|
2014-12-05 00:58:04 -06:00 |
Matt Joiner
|
65ccc9c75e
|
Forgot to commit this part of fixing disable TCP dialing out
|
2014-12-05 00:56:51 -06:00 |
Matt Joiner
|
b6ae4caa6a
|
Set priorities ahead of the current read position
|
2014-12-05 00:56:28 -06:00 |
Matt Joiner
|
f050bc02f7
|
Disabling TCP didn't include dialing out, also always disable UTP until the package is fixed
|
2014-12-05 00:53:26 -06:00 |
Matt Joiner
|
7b46b41011
|
Switch back to using the UTP redesign
|
2014-12-03 19:58:02 -06:00 |
Matt Joiner
|
91c2c1f5c7
|
Piece priorities, torrent read interface and many fixes
|
2014-12-03 01:07:50 -06:00 |
Matt Joiner
|
98400ab9c7
|
Harmless shortcut initing peer pieces when we have the torrent info
|
2014-12-02 18:43:05 -06:00 |
Matt Joiner
|
a87e753572
|
When metadata arrives, we also need to init request ordering
|
2014-12-02 18:42:22 -06:00 |
Matt Joiner
|
9fac3e8f33
|
Remove commented out code
|
2014-12-02 18:23:07 -06:00 |
Matt Joiner
|
7228e40c95
|
Add piece ordering per-connection piece request priority
|
2014-12-02 18:22:38 -06:00 |
Matt Joiner
|
c75f79b097
|
Speed up tests, allow -short for some UDP tracker stuff
|
2014-12-02 14:23:01 -06:00 |
Matt Joiner
|
e7dec6057b
|
Backed out changeset: 603a76a6bdb0
|
2014-12-02 00:11:39 -06:00 |
Matt Joiner
|
351bc3e504
|
Update to use utp package redesign
|
2014-12-01 23:35:39 -06:00 |
Matt Joiner
|
d599f85391
|
Ensure that when a cached torrent is used, the info hash is correct
|
2014-12-01 23:32:40 -06:00 |
Matt Joiner
|
0f1342d7d1
|
Don't clobber torrent name with empty magnet display name
|
2014-12-01 19:12:03 -06:00 |
Matt Joiner
|
0a91eef496
|
For now always read ahead 4 extra blocks
|
2014-12-01 17:02:31 -06:00 |
Matt Joiner
|
e4f1f5d55e
|
Rework torrent adding
|
2014-12-01 16:40:03 -06:00 |
Matt Joiner
|
362dfecbf2
|
Support banning torrents
|
2014-12-01 16:39:09 -06:00 |
Matt Joiner
|
fb2b626175
|
Don't send constructed MetaInfo down a channel when it's available, build it on demand
|
2014-12-01 16:37:40 -06:00 |
Matt Joiner
|
709650c0bd
|
Sleep between announces in case there are no trackers
|
2014-12-01 12:43:34 -06:00 |
Matt Joiner
|
75cde79d65
|
Improve the interface with client and download strategies
|
2014-12-01 03:37:33 -06:00 |
Matt Joiner
|
78ef36066d
|
Give each connection its own piece priority order
|
2014-12-01 03:36:25 -06:00 |
Matt Joiner
|
0a71fe4bee
|
Fast start torrent tracker announces
|
2014-12-01 03:33:52 -06:00 |
Matt Joiner
|
76f83e60b2
|
Misc good fixes
|
2014-12-01 03:32:17 -06:00 |
Matt Joiner
|
54ea32ddc4
|
Block IPv6 for now
|
2014-12-01 03:27:11 -06:00 |
Matt Joiner
|
336715874f
|
Fix race reordering tracker tier
|
2014-11-29 20:33:45 -06:00 |
Matt Joiner
|
d68664d6c8
|
Some changes to block list handling
|
2014-11-29 20:33:17 -06:00 |
Matt Joiner
|
0eb36e76ef
|
A few tweaks
|
2014-11-28 19:42:18 -06:00 |
Matt Joiner
|
17a8b8aa17
|
Make use of IP blocklist and change the client lock to RWMutex
The blocklist is loaded through from the file at TORRENT_BLOCKLIST_FILE or
$HOME/.config/torrent/blocklist.
|
2014-11-28 19:41:53 -06:00 |
Matt Joiner
|
50e3db173f
|
Allow DHT server config to be passed through when creating a new client
|
2014-11-28 12:13:08 -06:00 |
Matt Joiner
|
c10fbb2022
|
Extra time between tracker announces
|
2014-11-28 08:39:13 -06:00 |
Matt Joiner
|
1527321c71
|
Wasn't actually copying the tiers
http://stackoverflow.com/questions/27055626/concisely-deep-copy-a-slice
|
2014-11-21 00:54:19 -06:00 |
Matt Joiner
|
97074dc060
|
Improve tracker connect error log message
|
2014-11-21 00:32:39 -06:00 |
Matt Joiner
|
4725a70875
|
Shuffle tracker tiers after adding trackers
|
2014-11-21 00:32:27 -06:00 |
Matt Joiner
|
1a401e82f5
|
Merge trackers by magnet links if the torrent is already present
|
2014-11-21 00:10:52 -06:00 |
Matt Joiner
|
06aff91f8c
|
Don't open new connections or announce when new connections aren't wanted
|
2014-11-21 00:09:55 -06:00 |
Matt Joiner
|
1942d5b73b
|
Fix default torrent client address, and leaked resources
|
2014-11-21 00:07:04 -06:00 |
Matt Joiner
|
c57ea76b88
|
Support disabling UTP
|
2014-11-19 20:02:20 -06:00 |
Matt Joiner
|
dd240b66c4
|
Simple connection pruner
|
2014-11-18 22:03:21 -06:00 |
Matt Joiner
|
eacc624115
|
Expose a Torrent "handle", that implements ReaderAt
|
2014-11-18 21:58:36 -06:00 |
Matt Joiner
|
c8327a8fe2
|
Log bad metadata packets instead of crashing
|
2014-11-18 21:57:27 -06:00 |
Matt Joiner
|
3dd43c6099
|
buffer WriteStatus and always write torrents in the same order
|
2014-11-18 21:56:50 -06:00 |
Matt Joiner
|
358f089515
|
Set a minimum dial timeout
|
2014-11-18 21:53:00 -06:00 |
Matt Joiner
|
1057ac8055
|
Adding a duplicate magnet returns the existing torrent
|
2014-11-18 14:34:13 -06:00 |
Matt Joiner
|
482dde8e3f
|
Fix race condition calculating reduced dial timeout
|
2014-11-18 14:33:07 -06:00 |
Matt Joiner
|
c63d36c1b6
|
Improve client status write-out
|
2014-11-18 14:32:51 -06:00 |
Matt Joiner
|
abfa44d6e4
|
Count accepted connections
|
2014-11-18 14:31:47 -06:00 |
Matt Joiner
|
541f11aed4
|
Ensure the parallel dial invariant
|
2014-11-17 18:04:33 -06:00 |
Matt Joiner
|
8cae78cbf1
|
Reduce dial timeouts when there are lots of peers in the backlog
|
2014-11-17 18:04:09 -06:00 |
Matt Joiner
|
6d05994c2c
|
dht: Include the sender of peers in the peer stream
|
2014-11-17 17:47:36 -06:00 |
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
|
ad7cf646c8
|
Open new connections when a connection is dropped
|
2014-11-16 21:37:34 -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
|
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
|
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 |