Matt Joiner
c1d1082136
Fix multiLess.StrictNext
2018-06-17 21:11:01 +10:00
Matt Joiner
0ea4383efc
Fix build error with recent go version
2018-06-17 17:12:06 +10:00
Matt Joiner
4939dd4e57
Add some tests for net.Addr.Network values in various situations
2018-06-17 16:21:57 +10:00
Matt Joiner
c5cc570e42
bencode: Remove string allocation when parsing strings
2018-06-17 16:21:04 +10:00
Matt Joiner
2b1068885c
cmd/torrent-metainfo-pprint: Use bufio input and enable envpprof
2018-06-17 16:20:02 +10:00
Matt Joiner
4fafad46b2
Log and handle error with bad tracker URLs
2018-06-17 16:19:24 +10:00
Matt Joiner
3a17708c78
Move chunk expvars into torrent prefix
2018-06-17 16:18:22 +10:00
Matt Joiner
f137bfdd61
Use RLock for Client.WriteStatus
2018-06-17 16:11:50 +10:00
ia
fd7b23e527
all: gofmt
...
Run standard gofmt command on project root.
- go version go1.10.3 darwin/amd64
Signed-off-by: ia <isaac.ardis@gmail.com>
2018-06-17 15:49:58 +10:00
Matt Joiner
68e88977d5
Remove TestUTPRawConn
...
It's a bit racy and depends on flaky network. Something like this belongs in the utp package anyway.
2018-06-16 20:17:05 +10:00
Matt Joiner
4c471be802
Add connection.hasPreferredNetworkOver and friends
2018-06-16 17:14:47 +10:00
Matt Joiner
7a5aa2c42f
Fix some formatting of ConnStats fields
2018-06-16 17:10:56 +10:00
Matt Joiner
8732aa9cf1
Add multiLess and use it for worseConn
2018-06-16 17:04:12 +10:00
Matt Joiner
2852fee357
Fix some testing code for Config->ClientConfig
2018-06-16 17:01:21 +10:00
Matt Joiner
174120e1e8
Rework Torrent pending requests assertions
...
Should provide more info, and sooner for #249 .
2018-06-16 17:00:50 +10:00
Matt Joiner
0caafd8e87
Allow dropping connections to the same peer ID
...
Necessary for a test that expects one connection to each other Client.
2018-06-16 16:40:37 +10:00
Matt Joiner
0f90af85f1
Torrent.Stats: RLock instead of Lock
2018-06-16 16:38:14 +10:00
Matt Joiner
70dfc1f518
Allow disabling accept limiting and modify some constants
2018-06-16 16:37:13 +10:00
Matt Joiner
0854161e99
Clear accept limits when adding a new torrent
2018-06-16 16:34:35 +10:00
Matt Joiner
cee8e3b9f9
Update external use of ClientConfig
2018-06-16 16:33:40 +10:00
Matt Joiner
e97f487d2e
Rename Config->ClientConfig and change how defaults work
...
This is a very breaking change.
2018-06-16 16:30:04 +10:00
Matt Joiner
ad5e44eaf5
Add lots of new expvars and perf timers
2018-06-15 22:42:05 +10:00
Matt Joiner
81dcb9b779
Remove old Client.dialTCP
2018-06-15 22:39:37 +10:00
Matt Joiner
8acfc5149b
Rate limit incoming IP prefixes
...
Lots of bad or dishonest incoming handshakes for unwanted torrents.
2018-06-15 22:38:11 +10:00
Matt Joiner
2fb1c022f5
Use DialContext for tcp again
...
It got lost somewhere along the way.
2018-06-15 14:34:58 +10:00
Matt Joiner
fd0fb0051b
Update dial expvars
2018-06-15 14:30:31 +10:00
Matt Joiner
c9187bf736
Update some tests now that adding connections is more reliable
2018-06-13 22:02:30 +10:00
Matt Joiner
a1d2a32b20
Remove excess newline from log call
2018-06-13 10:56:09 +10:00
Matt Joiner
da4a6503c2
Fix race condition in Client.ListenAddrs
2018-06-13 10:53:38 +10:00
Matt Joiner
90f84bda71
Allow adding duplicate connections
...
I believe this fixes a long-standing race condition when dropping connections to the same peer ID where Clients assume the peer has added connections in the same order. Further commits may address duplicate connections further.
2018-06-13 10:53:11 +10:00
Matt Joiner
5412eef6da
Fix Count usage in benchmark
2018-06-12 22:47:46 +10:00
Matt Joiner
5cb73d6a37
Ensure ConnStats spew nicely
2018-06-12 22:40:04 +10:00
Matt Joiner
224522545b
Fix build error with recent go version
2018-06-12 21:51:34 +10:00
Matt Joiner
22a939fb02
Remove unused log import
2018-06-12 20:25:32 +10:00
Matt Joiner
817344d630
Remove duplicateClientConns expvar
2018-06-12 20:23:26 +10:00
Matt Joiner
856d5083b5
Update log call
2018-06-12 20:22:54 +10:00
Matt Joiner
360e1dbdd1
Track ConnStats with atomics
2018-06-12 20:21:53 +10:00
Matt Joiner
2007f2c234
Make download cancellable tests more reliable
2018-06-12 20:19:53 +10:00
Matt Joiner
a287d069a4
Fix crash adding peers when Torrent is closed
2018-06-12 20:17:15 +10:00
Matt Joiner
b024e1cff6
Remove unnecessary use of go keyword
2018-06-12 20:16:17 +10:00
Matt Joiner
cea5584d6b
Track outgoing through a new field on connection, and rework duplicate connection preferencing
2018-06-12 20:14:00 +10:00
Matt Joiner
e9040f8f74
Fix failure in CI on non-critical test due to set -e
2018-06-11 12:44:12 +10:00
Matt Joiner
ab48d4731c
Include rate limiting and stats in BenchmarkConnectionMainReadLoop
2018-06-11 12:20:51 +10:00
Matt Joiner
add2fceaba
Merge commit 'cadbacb956fa38a61f3656dc08d71bd68fc966ec' into dev
2018-06-11 11:34:38 +10:00
Matt Joiner
cadbacb956
Merge pull request #258 from porjo/master
...
Fix file permissions
2018-06-11 00:00:25 +10:00
Matt Joiner
5a53d29c75
Minimize lock time in Client.acceptConnections
2018-06-10 10:29:19 +10:00
Matt Joiner
ac6ba9f021
Add ConnStats at Client level
...
ConnStats management is refactored to make this less tedious.
2018-06-10 09:20:33 +10:00
Matt Joiner
415c6f6654
Increment conn read/write stats asynchronously
...
Acquiring the lock appears to be quite intensive.
2018-06-10 09:20:33 +10:00
Matt Joiner
a9bdb438dc
Fix timing failures in download cancel tests
2018-06-10 09:20:33 +10:00
Matt Joiner
3d680f8afc
Update a link
2018-06-10 09:20:33 +10:00