4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-07-06 01:44:06 +00:00
Commit Graph

66 Commits

Author SHA1 Message Date
0838928668 Add support for flexible logging levels 2019-01-27 13:31:43 +00:00
3bf53796a7 Merge branch 'develop' into nodeconfig 2019-01-15 08:37:10 +00:00
08a71af2d8 Spelling fixes for switch.go 2019-01-09 11:49:12 +02:00
7fae1c993a Handle errors from reconfigure tasks 2018-12-30 12:04:42 +00:00
2925920c70 Use mutex in switch/tcp init 2018-12-29 19:53:31 +00:00
fa7c4117b4 Use Core.config in init functions 2018-12-29 19:14:26 +00:00
219fb96553 Support notifying components for config reload, listen for SIGHUP 2018-12-29 18:51:51 +00:00
ea4ca02681 fix code after moving address/crypto/util 2018-12-14 20:49:18 -06:00
bd2d706745 fix bug from go vet while I'm at it 2018-12-07 20:36:30 -06:00
fe772dd38e switch bugfixes 2018-12-05 18:22:39 -06:00
3d4b49b693 reset the switch speed info for a peer whenever it changes coords, instead of only if they're a parent and change coords. Also, make sure packets in the sim preserve order when sending, to avoid races when testing 2018-12-03 19:21:23 -06:00
684632eb3d Merge pull request #215 from Arceliar/switch
Latency-based parent selection for the switch
2018-12-02 17:26:26 -06:00
b5f4637b5c Enforce min 4MB switch queue total size 2018-12-02 23:20:11 +00:00
86da073226 Add SwitchOptions and MaxTotalQueueSize 2018-12-02 22:49:27 +00:00
dcfe55dae8 store 'faster' relationships between all pairs of peers, to make fallback easier when a parent goes offline 2018-12-02 16:36:25 -06:00
38093219fd dimensionless way to track how often nodes are faster than the current parent 2018-12-02 14:46:58 -06:00
e9cff0506c comment the switch a little better and limit how much uptime can affect which peer is used as a parent 2018-11-19 21:30:52 -06:00
3dbffae99f add search for successor, via parent, to the dht maintenance cycle 2018-10-20 19:09:25 -05:00
1d00131416 Hopefully fix a concurrent map read-write when removing peers 2018-10-08 22:09:55 +01:00
69cd736112 Show queue capacity in getSwitchQueues 2018-09-27 16:19:47 +01:00
0b1a6611fd Identify switchport for queue based on coords in stream ID 2018-09-27 15:05:45 +01:00
8113b4cc22 Update comments 2018-09-27 14:20:52 +01:00
b530916044 Show information about individual active queues 2018-09-27 12:14:55 +01:00
f57567ea56 Add getSwitchQueues 2018-09-27 10:53:19 +01:00
9cbcaf39ac Use coords for queue stream IDs in the switch, and append protocol/port information to coords when sending, to designate different streams 2018-07-21 18:59:29 -05:00
ba4047b51a correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store 2018-07-06 17:27:04 -05:00
ad5dc9ea87 Drop 1 packet instead of a whole queue when overflowing 2018-07-06 00:55:00 -05:00
e6a47f705d when dropping a queue, select one at random based on queue size in bytes 2018-07-06 00:11:36 -05:00
1a65c065d0 prioritize sending from small queues that have been blocked for a long time 2018-07-05 23:56:37 -05:00
7da4967f5e Limit maximum queue size to 4 MB 2018-07-05 23:39:41 -05:00
a7c8be4d69 base backpressure decisions on queue size in bytes, instead of packet counts 2018-07-05 23:07:01 -05:00
b63b534fa7 drop packets that have been queued for longer than some timeout (currently 25ms) instead of using fixed length queues 2018-06-25 18:12:18 -05:00
7695a3fcbf try using a simpler FIFO order for each backpressure buffer, since there are other mechanisms to penalize the flooding node, leads to better TCP throughput without affecting traffic between other nodes (does affect traffic in the same session, but there's hypothetically workarounds to that) 2018-06-24 20:20:07 -05:00
4ad2446557 cleanup 2018-06-24 18:21:00 -05:00
03949dcf3f fix my terrible bug, I have no idea why the old one even worked 2018-06-24 18:05:00 -05:00
9c028e1d0d switch to a separate queue per stream of traffic, FIXME for some reason this makes distance calculations more expensive in handleIdle? 2018-06-24 17:39:43 -05:00
189628b381 cleanup 2018-06-23 23:55:27 -05:00
0ad801bcfe more work on backpressure, but still needs more testing 2018-06-23 23:33:03 -05:00
4b83efa218 more backpressure work, still needs testing 2018-06-23 21:51:32 -05:00
52a0027aea switch refactoring, setup for a better approximation of local backpressure 2018-06-23 20:59:26 -05:00
988f4ad265 add a dedicated switch worker and start using it for lookups 2018-06-23 19:08:32 -05:00
7fe038f87e prevent parent nodes from forcing coord oscillation, have dht.handleRes clean up the old request info immediately 2018-06-14 12:32:18 -05:00
b006748da4 code cleanup 2018-06-12 17:50:08 -05:00
56802d569e minor documentation updates, code comments, and a couple of bugfixes that I noticed when going through the code to comment it 2018-06-10 18:03:28 -05:00
1dcc60f054 check root before accepting that a message is good and unblocking a new peer 2018-06-08 17:33:16 -05:00
bced15b138 remove TTL from traffic packets 2018-06-07 20:29:22 -05:00
84c13fac90 don't use TTL 2018-06-07 20:18:13 -05:00
bcfeb22915 more tcp debugging 2018-06-07 16:49:51 -05:00
d468882147 cleanup 2018-06-07 14:24:02 -05:00
f8ba80e7d8 remove old switchMessage and clean up related code 2018-06-07 14:13:31 -05:00