2
0
mirror of synced 2025-02-24 22:58:28 +00:00

684 Commits

Author SHA1 Message Date
Matt Joiner
4472a0e27a Add Debug flag to Config
I'll use this to squash the noisy logging for people who don't care.
2015-08-23 12:59:03 +10:00
Matt Joiner
698181e470 Code comment 2015-08-23 12:49:35 +10:00
Matt Joiner
1db00a54f0 Redo the compact peer types 2015-08-17 19:52:47 +10:00
Matt Joiner
6b27e1473d Upload after a piece completes 2015-08-12 17:11:14 +10:00
Matt Joiner
6c8c870b28 Log zero ports from trackers 2015-08-06 08:58:13 +10:00
Matt Joiner
cb00308157 Back off on the kicked connections log 2015-08-06 08:56:36 +10:00
Matt Joiner
59e50bd614 Log who's giving us zero ports over PEX
In the long run this will help determine why this happens.
2015-08-06 08:55:48 +10:00
Matt Joiner
5d5ee66be4 Clear piece touch flag from connection after a piece is hashed 2015-08-05 02:43:53 +10:00
Matt Joiner
497d185373 Add an option to disable IPv6 2015-08-05 02:41:50 +10:00
Matt Joiner
085be622a0 Replacing pendingWrites WaitGroup with Mutex/Cond/int
Apparently I've been using WaitGroups wrong all along.
2015-08-05 02:40:46 +10:00
Matt Joiner
92e1e505b4 Improve log message 2015-08-04 01:33:50 +10:00
Matt Joiner
da8ac9fe01 Log errant unwanted piece rather than panic
Eventually I'll work out what causes this, but for now it's incredibly rare.
2015-08-04 01:29:40 +10:00
Matt Joiner
bbe58bbd73 Filter out DHT peers with port 0
Probably not necessary now we ban the nodes that send them, but it's appropriate to check here too.
2015-08-04 01:20:10 +10:00
Matt Joiner
f3317322f8 Fix crash if peer sends out of bounds HAVE message 2015-08-04 01:17:32 +10:00
Matt Joiner
f69c51bea3 Tighten up some potential leaks
Based on some observations of lingering goroutines in unit tests.
2015-08-04 01:15:09 +10:00
Matt Joiner
54339a30e3 Drop connections that contributed to pieces that failed to hash
There are peers out there that seem to intentionally spam bad data, and the same pieces will often fail continuously. This really puts a bee in their bonnet.
2015-08-04 01:12:09 +10:00
Matt Joiner
51aad774ab Add IPBlocklist option to Config, and test it's inherited by DHT 2015-08-04 01:07:22 +10:00
Matt Joiner
f9995244c0 If a DHTConfig was provided without a blocklist, the DHT wouldn't inherit the Client's blocklist 2015-08-04 00:43:46 +10:00
Matt Joiner
68e3b9f666 dht: Block bad nodes, start by banning those that send port=0 2015-08-04 00:31:53 +10:00
Matt Joiner
1f008fb4f0 Trivial missed changes 2015-08-02 21:00:49 +10:00
Matt Joiner
06dede5690 Track the connection flags for completed handshakes 2015-08-02 04:06:22 +10:00
Matt Joiner
34d3d7aca0 Tidy up outbound connection code
Preparing to allow alternate dialing logic.
2015-08-02 04:04:42 +10:00
Matt Joiner
d037e6ee9c Suppress a lot of noisy logging 2015-08-02 04:01:41 +10:00
Matt Joiner
e5acfcbb46 Comments 2015-08-02 03:53:37 +10:00
Matt Joiner
8ce61e911d Torrent.BytesCompleted was racy 2015-07-21 22:54:02 +10:00
Matt Joiner
78ec88ad02 Don't probe pieces when setting torrent storage
It blocks the caller, for potentially quite some time. I've tested without this for some time now.
2015-07-21 22:52:43 +10:00
Matt Joiner
346c457e9c Hashing was blocking prioritization of pieces 2015-07-21 22:51:15 +10:00
Matt Joiner
84fc3aab0f client.go: Missing perf import 2015-07-17 21:45:44 +10:00
Matt Joiner
0600c3b5e3 Several speedups in logic 2015-07-17 21:07:01 +10:00
Matt Joiner
6c04000644 Downloading a chunk may mean the piece isn't wanted anymore
Hopefully this fixes a very rare logic error in replenishing connection requests for a piece that isn't wanted, yet is still in the connection piece request order.
2015-07-17 21:04:43 +10:00
Matt Joiner
7e9fe4f447 Store chunk data without holding client lock 2015-07-15 16:00:59 +10:00
Matt Joiner
c018c660f0 Allow chunk size to be specified per torrent 2015-07-15 15:31:18 +10:00
Matt Joiner
4807f12ea1 When seeding, actually seed beyond 6 chunks 2015-07-15 15:29:53 +10:00
Matt Joiner
08f89c49f3 Don't raise piece priority while hashing or if piece complete 2015-07-04 13:38:42 +10:00
Matt Joiner
fd2824f595 Raise socketsPerTorrent to 80 2015-06-30 00:46:43 +10:00
Matt Joiner
bb28ff7492 Replace pruning timer with as-required connection dropping 2015-06-30 00:45:26 +10:00
Matt Joiner
1595f65ac2 Adjust some expvars 2015-06-30 00:35:47 +10:00
Matt Joiner
2277e16dca Rename and sort some of the expvars 2015-06-28 16:41:51 +10:00
Matt Joiner
dd34efad57 Comments and update version strings 2015-06-28 16:40:46 +10:00
Matt Joiner
4f293ca75b Several trivial fixes 2015-06-28 16:39:04 +10:00
Matt Joiner
4b6c8b1c39 Move methods to correct file 2015-06-23 02:02:22 +10:00
Matt Joiner
b5ee4f602d Document ConfigDir 2015-06-22 19:48:50 +10:00
Matt Joiner
ad6fec2e77 Clarify downloaded chunk counters 2015-06-22 19:48:30 +10:00
Matt Joiner
859129fb28 Print peer IDs as escaped ascii 2015-06-22 19:46:26 +10:00
Matt Joiner
99a06e3f50 Move IP blocklist loading into iplist package 2015-06-22 19:44:59 +10:00
Matt Joiner
b2b290a589 Small tweak to readahead, and fix the tests 2015-06-16 17:14:15 +10:00
Matt Joiner
ced5733c88 Improve uploading/seeding 2015-06-16 16:57:47 +10:00
Matt Joiner
764f5db512 Make readahead always at least 2 blocks. 2015-06-16 16:54:12 +10:00
Matt Joiner
d63c5e5b98 Don't try to connect again without encryption, if encryption is disabled 2015-06-08 18:16:01 +10:00
Matt Joiner
5014b62e17 Reduce log noise due to uTP connection timeouts 2015-06-03 22:44:03 +10:00