Matt Joiner
39bde7237e
Try to count IPv6 connections
2018-02-13 00:48:21 +11:00
Matt Joiner
dd9244c01d
bencode: Unmarshal now returns an error on unused trailing bytes
2018-02-13 00:21:28 +11:00
Matt Joiner
57216bd299
Standardize on krpc types, and extend PEX message type for IPv6
2018-02-11 15:13:00 +11:00
Matt Joiner
8d1995c4d4
Support IPv6 blocklists
...
Existing packed blocklists need to be regenerated.
2018-02-11 15:11:26 +11:00
Matt Joiner
924b916b2a
Expose Client.Closed
2018-02-08 23:57:53 +11:00
Matt Joiner
f57437201e
Send bitfield messages before other initial messages
2018-02-05 17:41:53 +11:00
Matt Joiner
e0c2265cb0
Support sending HaveAll
2018-02-04 19:10:25 +11:00
Matt Joiner
ea8659c951
Move initiateConn and openNewConns onto Torrent
2018-02-04 12:59:23 +11:00
Matt Joiner
efecf88d3c
Use flip buffering for connection writing
2018-02-03 15:09:38 +11:00
Matt Joiner
085e676ef0
Generate default peerExtensionBytes using helpers
2018-02-03 13:36:17 +11:00
Matt Joiner
9567aa901c
Add missing increments to some stats
2018-02-03 11:53:11 +11:00
Matt Joiner
fe991128ed
Rework connection stat reconciliation with Torrent and refactor doppleganger handling
2018-02-02 19:07:20 +11:00
Matt Joiner
b0c1f99509
Merge a bunch of stuff into ConnStats and refactor connection.upload
2018-02-02 19:04:56 +11:00
Matt Joiner
97ffe39561
Move sendChunk onto connection
2018-02-02 13:26:04 +11:00
Matt Joiner
1a7708b484
sortimports
2018-01-31 16:42:40 +11:00
Matt Joiner
77806c1f49
More development of the new logging interface
2018-01-29 18:22:21 +11:00
Matt Joiner
53e32ca9dd
Start using new log package
2018-01-28 16:07:11 +11:00
Matt Joiner
e08d11a4b9
Update Client.newConnection with changed rateLimitedReader interface
2018-01-28 15:42:37 +11:00
Matt Joiner
51b3374015
Add very tentative UPnP NAT traversal
...
Relates to #230
2018-01-25 13:14:20 +11:00
Matt Joiner
9285470cc6
Improve some log messages
2018-01-25 13:10:52 +11:00
Matt Joiner
56109b387d
Formatting and comments
2018-01-06 16:37:40 +11:00
Matt Joiner
e13b0eccbf
Make peerID a public type
...
Wanted it applied to Client Status output
2018-01-06 15:50:45 +11:00
Matt Joiner
c44ee5fec4
Use peerID type more, and make its Stringer output nicer
2018-01-06 12:34:31 +11:00
Matt Joiner
8f7720edb2
Merge commit '6ab65a49a8a72dea1a28968b2ab42a85fd4566ec'
...
# Conflicts:
# config.go
2017-11-08 20:23:15 +11:00
Matt Joiner
3aa1e8f3ef
Add a test for behaviour after getting metadata_size and before GotInfo
...
#208
2017-11-08 19:31:10 +11:00
Matt Joiner
8712cc25d0
Make Client.PeerID return [20]byte
2017-11-08 19:28:37 +11:00
Matt Joiner
7eb62eec0d
Move some code around
2017-11-08 15:00:18 +11:00
themihai
6ab65a49a8
feat(config): Allows the torrent client to customise the client identity and connection config
2017-11-07 20:14:13 +02:00
Matt Joiner
9757f04cf8
Apply megacheck to torrent package
2017-11-07 16:11:59 +11:00
Matt Joiner
82093937d5
Ignore expected error
2017-11-06 14:01:07 +11:00
Matt Joiner
6aad8041ab
Implement new request strategy
...
The new strategy, 2, has the fastest connection download by priority in order, and all other pieces stick to a randomized ordering that's stable per connection.
2017-09-23 15:25:47 +10:00
Matt Joiner
bb53c97d38
Move uploading to the connection writer
2017-09-18 12:09:08 +10:00
Matt Joiner
ed0fa62340
Comment and formatting
2017-09-17 00:45:12 +10:00
Matt Joiner
b39df82fbc
Include peer data with half open connections
2017-09-15 19:10:09 +10:00
Matt Joiner
846ac2d33e
Herp
2017-09-15 12:56:54 +10:00
Matt Joiner
d4576a56d9
Add some expvars to track uTP/TCP and PHE fallbacks for outgoing connections
2017-09-15 12:56:15 +10:00
Matt Joiner
881f1a7e35
Support plaintext crypto method for protocol header encryption
2017-09-13 18:20:20 +10:00
Matt Joiner
110764480e
Avoid triggering writer cond where possible
2017-09-01 12:09:41 +10:00
Matt Joiner
13e79039f2
Generate requests, cancels and interest state in the connection writer
2017-08-31 23:48:52 +10:00
Matt Joiner
986b9093a0
Make connection.writer pull from a buffer
2017-08-31 16:26:45 +10:00
Matt Joiner
0388ec1eee
Synchronize Torrent.Info
2017-08-29 15:16:53 +10:00
Matt Joiner
a8a1ea755d
Remove unused functions
2017-08-26 13:23:04 +10:00
Matt Joiner
401974dd8d
dht.ServerConfig.StartingNodes is now a function
...
Additionally cmd/torrentfs uses the global bootstrap nodes for its DHT. Aids with https://github.com/anacrolix/torrent/issues/180
2017-08-25 16:28:27 +10:00
Matt Joiner
97cb41a5c9
Provide default starting nodes to DHT if default torrent client config is used
...
https://github.com/anacrolix/torrent/issues/178
2017-08-18 11:14:28 +10:00
Matt Joiner
76c60ffa77
Try a state-delta function for updating request state
...
Also adds Torrent.networkingEnabled, though it isn't yet useful.
2017-08-18 01:51:02 +10:00
Matt Joiner
170bb72c34
Augment dialed connection timeouts with context.Context
...
Works toward a dial timeout for half open connections. https://github.com/anacrolix/torrent/issues/169
2017-08-16 17:05:05 +10:00
Matt Joiner
9bec8f6a95
Use net.Dialer for TCP
2017-08-16 15:48:30 +10:00
Matt Joiner
8317417910
Use DialContext instead of DialTimeout with utp
2017-08-16 15:35:17 +10:00
Matt Joiner
2d59d48015
Some tidying in Client.dialFirst
2017-08-16 10:32:25 +10:00
Matt Joiner
5099d8e33f
DHT bootstrap is not asynchronous
2017-08-10 11:18:48 +10:00