Arceliar
|
3c9c8672c9
|
Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into switch
|
2019-02-15 16:28:48 -06:00 |
|
Arceliar
|
21cecf4630
|
consistently prioritize which peer to forward to instead of letting it be partly random
|
2019-02-09 17:44:25 -06:00 |
|
Arceliar
|
ad43558fbb
|
fix bug in switch time
|
2019-02-09 15:30:17 -06:00 |
|
Arceliar
|
74ac535d55
|
slightly faster switch logic, should be easier to have a useful tie-breaker for peers that are equally close to the destination via the tree metric
|
2019-02-08 19:46:11 -06:00 |
|
Arceliar
|
5ddf84f329
|
remove peers completely after a long switch timeout, this could use some improvement later
|
2019-02-03 15:22:14 -06:00 |
|
Neil Alexander
|
0838928668
|
Add support for flexible logging levels
|
2019-01-27 13:31:43 +00:00 |
|
Neil Alexander
|
3bf53796a7
|
Merge branch 'develop' into nodeconfig
|
2019-01-15 08:37:10 +00:00 |
|
Tristan B. Kildaire
|
08a71af2d8
|
Spelling fixes for switch.go
|
2019-01-09 11:49:12 +02:00 |
|
Neil Alexander
|
7fae1c993a
|
Handle errors from reconfigure tasks
|
2018-12-30 12:04:42 +00:00 |
|
Neil Alexander
|
2925920c70
|
Use mutex in switch/tcp init
|
2018-12-29 19:53:31 +00:00 |
|
Neil Alexander
|
fa7c4117b4
|
Use Core.config in init functions
|
2018-12-29 19:14:26 +00:00 |
|
Neil Alexander
|
219fb96553
|
Support notifying components for config reload, listen for SIGHUP
|
2018-12-29 18:51:51 +00:00 |
|
Arceliar
|
ea4ca02681
|
fix code after moving address/crypto/util
|
2018-12-14 20:49:18 -06:00 |
|
Arceliar
|
bd2d706745
|
fix bug from go vet while I'm at it
|
2018-12-07 20:36:30 -06:00 |
|
Arceliar
|
fe772dd38e
|
switch bugfixes
|
2018-12-05 18:22:39 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
684632eb3d
|
Merge pull request #215 from Arceliar/switch
Latency-based parent selection for the switch
|
2018-12-02 17:26:26 -06:00 |
|
Neil Alexander
|
b5f4637b5c
|
Enforce min 4MB switch queue total size
|
2018-12-02 23:20:11 +00:00 |
|
Neil Alexander
|
86da073226
|
Add SwitchOptions and MaxTotalQueueSize
|
2018-12-02 22:49:27 +00:00 |
|
Arceliar
|
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 |
|
Arceliar
|
38093219fd
|
dimensionless way to track how often nodes are faster than the current parent
|
2018-12-02 14:46:58 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
3dbffae99f
|
add search for successor, via parent, to the dht maintenance cycle
|
2018-10-20 19:09:25 -05:00 |
|
Neil Alexander
|
1d00131416
|
Hopefully fix a concurrent map read-write when removing peers
|
2018-10-08 22:09:55 +01:00 |
|
Neil Alexander
|
69cd736112
|
Show queue capacity in getSwitchQueues
|
2018-09-27 16:19:47 +01:00 |
|
Neil Alexander
|
0b1a6611fd
|
Identify switchport for queue based on coords in stream ID
|
2018-09-27 15:05:45 +01:00 |
|
Neil Alexander
|
8113b4cc22
|
Update comments
|
2018-09-27 14:20:52 +01:00 |
|
Neil Alexander
|
b530916044
|
Show information about individual active queues
|
2018-09-27 12:14:55 +01:00 |
|
Neil Alexander
|
f57567ea56
|
Add getSwitchQueues
|
2018-09-27 10:53:19 +01:00 |
|
Arceliar
|
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 |
|
Arceliar
|
ba4047b51a
|
correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store
|
2018-07-06 17:27:04 -05:00 |
|
Arceliar
|
ad5dc9ea87
|
Drop 1 packet instead of a whole queue when overflowing
|
2018-07-06 00:55:00 -05:00 |
|
Arceliar
|
e6a47f705d
|
when dropping a queue, select one at random based on queue size in bytes
|
2018-07-06 00:11:36 -05:00 |
|
Arceliar
|
1a65c065d0
|
prioritize sending from small queues that have been blocked for a long time
|
2018-07-05 23:56:37 -05:00 |
|
Arceliar
|
7da4967f5e
|
Limit maximum queue size to 4 MB
|
2018-07-05 23:39:41 -05:00 |
|
Arceliar
|
a7c8be4d69
|
base backpressure decisions on queue size in bytes, instead of packet counts
|
2018-07-05 23:07:01 -05:00 |
|
Arceliar
|
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 |
|
Arceliar
|
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 |
|
Arceliar
|
4ad2446557
|
cleanup
|
2018-06-24 18:21:00 -05:00 |
|
Arceliar
|
03949dcf3f
|
fix my terrible bug, I have no idea why the old one even worked
|
2018-06-24 18:05:00 -05:00 |
|
Arceliar
|
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 |
|
Arceliar
|
189628b381
|
cleanup
|
2018-06-23 23:55:27 -05:00 |
|
Arceliar
|
0ad801bcfe
|
more work on backpressure, but still needs more testing
|
2018-06-23 23:33:03 -05:00 |
|
Arceliar
|
4b83efa218
|
more backpressure work, still needs testing
|
2018-06-23 21:51:32 -05:00 |
|
Arceliar
|
52a0027aea
|
switch refactoring, setup for a better approximation of local backpressure
|
2018-06-23 20:59:26 -05:00 |
|
Arceliar
|
988f4ad265
|
add a dedicated switch worker and start using it for lookups
|
2018-06-23 19:08:32 -05:00 |
|
Arceliar
|
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 |
|
Arceliar
|
b006748da4
|
code cleanup
|
2018-06-12 17:50:08 -05:00 |
|
Arceliar
|
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 |
|
Arceliar
|
1dcc60f054
|
check root before accepting that a message is good and unblocking a new peer
|
2018-06-08 17:33:16 -05:00 |
|