Matt Joiner
|
a3bc6398c8
|
Merge messageTypes{Sent,Posted} into torrent expvar
|
2018-06-29 22:10:21 +10:00 |
|
Matt Joiner
|
7b924822c7
|
Fix panic in connection.iterPendingPieces when the info isn't available
Triggered by connection.iterUnbiasedPieceRequestOrder calling Torrent.numPieces. We shouldn't be iterating pieces when there's no info anyway, so don't yield any. Mentioned in https://github.com/anacrolix/torrent/issues/253#issuecomment-400350386.
|
2018-06-28 11:12:49 +10:00 |
|
Matt Joiner
|
6212973011
|
Add more context to an error
|
2018-06-26 20:24:39 +10:00 |
|
Matt Joiner
|
c921242f30
|
Do requests synchronously, and don't request from hashing or queued pieces
Calculating the desired state was a nice idea, but too hard to debug. This way should also be faster.
|
2018-06-26 14:51:55 +10:00 |
|
Matt Joiner
|
7dd532d46f
|
Check that chunks we request aren't being hashed or queued for hash
|
2018-06-26 13:04:15 +10:00 |
|
Matt Joiner
|
85dc3c204a
|
Rework stats for receiving chunks
Related to #253.
|
2018-06-25 14:06:30 +10:00 |
|
Matt Joiner
|
0330b87288
|
Drop connections that send chunks we shouldn't receive
|
2018-06-24 20:35:46 +10:00 |
|
Matt Joiner
|
195695042d
|
Add requestStrategy 3, which duplicates requests only after a timeout
Possible solution for #253.
|
2018-06-24 20:04:31 +10:00 |
|
Matt Joiner
|
d2602c7935
|
Write received chunks that we don't have
Chunks were discarded if they belong to unprioritized pieces, even if those pieces were previously prioritized. May be contributing to #253.
|
2018-06-24 19:40:53 +10:00 |
|
Matt Joiner
|
ad03e64722
|
Retain interest if requests are outstanding and don't clear peer requests if they send not_interested
Apparent shortcomings found when trying new request algorithms.
|
2018-06-23 22:32:11 +10:00 |
|
Matt Joiner
|
159c4a0e28
|
Ensure 64-bit alignment of ConnStats fields
Fixes #262.
|
2018-06-23 18:33:56 +10:00 |
|
Matt Joiner
|
3a17708c78
|
Move chunk expvars into torrent prefix
|
2018-06-17 16:18:22 +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
|
174120e1e8
|
Rework Torrent pending requests assertions
Should provide more info, and sooner for #249.
|
2018-06-16 17:00:50 +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
|
360e1dbdd1
|
Track ConnStats with atomics
|
2018-06-12 20:21:53 +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
|
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
|
3d680f8afc
|
Update a link
|
2018-06-10 09:20:33 +10:00 |
|
Matt Joiner
|
9928914ecd
|
Add some peer source comments
|
2018-04-12 15:12:29 +10:00 |
|
Matt Joiner
|
319e57d1c6
|
Rework conns to/and allow multiple DHT servers
This will help with #229, and IPv6 support.
|
2018-04-12 11:41:07 +10:00 |
|
Matt Joiner
|
646622b8f1
|
Move clamp and max, and add min to misc.go
|
2018-02-16 12:14:15 +11:00 |
|
Matt Joiner
|
066cdd520b
|
Add mse.CryptoMethod type
|
2018-02-16 10:36:29 +11:00 |
|
Matt Joiner
|
3f7eab00de
|
Change some connection flag strings to avoid collision
|
2018-02-15 16:04:42 +11:00 |
|
Matt Joiner
|
35b224ba36
|
Add extra pedantic checks to requesting to try and flush out @deranjer's panics
|
2018-02-15 15:21:51 +11:00 |
|
Matt Joiner
|
d69cfbc419
|
Track IPv6 peers received over PEX and simplify the adding code
|
2018-02-15 14:43:57 +11:00 |
|
Matt Joiner
|
7dec0a196d
|
Count errors returned from connection.mainReadLoop
|
2018-02-13 00:56:21 +11:00 |
|
Matt Joiner
|
70010ce691
|
Support IPv6 peers over PEX
|
2018-02-13 00:50:32 +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
|
5023dcaa3a
|
Fixes for non-pointer Bitmap corrupting state
|
2018-02-08 15:08:33 +11:00 |
|
Matt Joiner
|
15ed1bbd69
|
Remove uploadChunksPosted expvar
Use messageTypesPosted.Piece
|
2018-02-07 13:57:50 +11:00 |
|
Matt Joiner
|
05da46ddbb
|
Raise the nominal max requests for connections that download lots of useful chunks
Massive speed increases for some connections.
|
2018-02-05 18:49:55 +11:00 |
|
Matt Joiner
|
d5682e9cd0
|
Change a bunch of Stringer and status stuff
Cumulative interest time, download rate per connection, request low and high waters, peer extension bytes
|
2018-02-05 17:47:47 +11:00 |
|
Matt Joiner
|
93e8d9bfaa
|
Use stringer to generate peer_protocol.MessageType strings
|
2018-02-05 15:30:35 +11:00 |
|
Matt Joiner
|
20316e5af4
|
Support AllowedFast and enable fast extension
|
2018-02-05 00:18:38 +11:00 |
|
Matt Joiner
|
b2860bad21
|
Fix the connection completed string if peer sent HaveAll
|
2018-02-04 22:43:28 +11:00 |
|
Matt Joiner
|
2e36ad19d9
|
Finish mainReadLoop on Torrent closed
|
2018-02-04 19:14:46 +11:00 |
|
Matt Joiner
|
44e44637bf
|
TODOs and comments
|
2018-02-04 19:14:07 +11:00 |
|
Matt Joiner
|
e0c2265cb0
|
Support sending HaveAll
|
2018-02-04 19:10:25 +11:00 |
|
Matt Joiner
|
64d13d86a6
|
Tickle sleeping writers when closing connections
This prevents them sleeping for an indefinite period (although something seemed to wake them eventually).
|
2018-02-03 15:44:03 +11:00 |
|
Matt Joiner
|
e1ea10fa2d
|
Wasn't recording posted message stats
|
2018-02-03 15:29:06 +11:00 |
|
Matt Joiner
|
efecf88d3c
|
Use flip buffering for connection writing
|
2018-02-03 15:09:38 +11:00 |
|
Matt Joiner
|
86aabb081c
|
Share the post write buffer with the synchronous one in the connection writer
This should prevent messages posted while generating synchronous messages don't get out of order.
|
2018-02-03 14:40:03 +11:00 |
|
Matt Joiner
|
9b1a769bef
|
Move extended message handling into its own method
|
2018-02-03 14:06:10 +11:00 |
|
Matt Joiner
|
738a75bc1c
|
Prepare to support sending reject messages
|
2018-02-03 13:35:09 +11:00 |
|
Matt Joiner
|
f23d097502
|
Include closed connections in dirtiers
|
2018-02-03 12:08:16 +11:00 |
|
Matt Joiner
|
5fcb920f96
|
Use new logging in connection.go
|
2018-02-03 12:06:52 +11:00 |
|
Matt Joiner
|
9567aa901c
|
Add missing increments to some stats
|
2018-02-03 11:53:11 +11:00 |
|
Matt Joiner
|
5a4e8cd4c5
|
Rename and rearrange some conn stats
|
2018-02-03 00:41:13 +11:00 |
|