4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-30 20:56:17 +00:00
Commit Graph

48 Commits

Author SHA1 Message Date
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
00e4da28c7 use/store switchMsg in the switch instead of going through the old switchMessage 2018-06-07 13:56:11 -05:00
3dab94be9f keep dht peers alive 2018-06-07 10:58:24 -05:00
ecf37cae8a make the switch react to peer coord changes immediately, and send out updates immediately 2018-06-07 00:16:47 -05:00
85afe187ff remove peer timeout logic from the switch, so switch peer entrires are only removed when the peer struct is removed 2018-06-06 23:23:16 -05:00
3b783fbf97 move periodic switch maintenance into the router instead of its own goroutine 2018-06-06 23:10:33 -05:00
bbae9ff8e8 Merge pull request #92 from Arceliar/backpressure
Use backpressure instead of estimated bandwidth
2018-06-06 16:58:48 -05:00
4c115de633 De-debug 2018-05-27 22:13:37 +01:00
38e7704161 use backpressure instead of estimated bandwidth, sorted by uptime to break ties 2018-05-27 13:37:35 -05:00
d98640fd59 switch cleanup 2018-05-16 17:48:53 -05:00
8228242eed misc dht and tree changes to stabilize coords and bootstrap the dht faster 2018-05-15 23:57:00 -05:00
71150fcb86 ignore root tstamp updates if we just updated, to throttle the rate at which updates (and new signatures) can propagate 2018-02-17 23:57:24 -06:00
0fc7401635 check root before adding peers to the switch lookupTable, instead of during each lookup 2018-02-17 23:14:23 -06:00
c18d863a3e update comments, mostly TODO/FIXME notes 2018-01-26 17:30:51 -06:00
f929df1ea9 minor performance adjustments 2018-01-18 18:48:34 -06:00
b3ebe76b59 Run gofmt -s -w . 2018-01-04 22:37:51 +00:00
d7e6d814a0 first code/readme/license commit 2017-12-28 22:16:20 -06:00