From aa0770546eae3b3931326d9df8fea9724715f95e Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 28 Aug 2019 19:39:23 +0100 Subject: [PATCH] Move responsibility for configuring max queue size into switch --- src/yggdrasil/core.go | 8 -------- src/yggdrasil/switch.go | 8 +++++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/yggdrasil/core.go b/src/yggdrasil/core.go index 831109dd..ba06899b 100644 --- a/src/yggdrasil/core.go +++ b/src/yggdrasil/core.go @@ -152,14 +152,6 @@ func (c *Core) Start(nc *config.NodeConfig, log *log.Logger) (*config.NodeState, return nil, err } - c.config.Mutex.RLock() - if c.config.Current.SwitchOptions.MaxTotalQueueSize >= SwitchQueueTotalMinSize { - phony.Block(&c.switchTable, func() { - c.switchTable.queues.totalMaxSize = c.config.Current.SwitchOptions.MaxTotalQueueSize - }) - } - c.config.Mutex.RUnlock() - if err := c.switchTable.start(); err != nil { c.log.Errorln("Failed to start switch") return nil, err diff --git a/src/yggdrasil/switch.go b/src/yggdrasil/switch.go index b6bd5b96..163c85cf 100644 --- a/src/yggdrasil/switch.go +++ b/src/yggdrasil/switch.go @@ -193,7 +193,13 @@ func (t *switchTable) init(core *Core) { t.table.Store(lookupTable{}) t.drop = make(map[crypto.SigPubKey]int64) phony.Block(t, func() { - t.queues.totalMaxSize = SwitchQueueTotalMinSize + core.config.Mutex.RLock() + if core.config.Current.SwitchOptions.MaxTotalQueueSize > SwitchQueueTotalMinSize { + t.queues.totalMaxSize = core.config.Current.SwitchOptions.MaxTotalQueueSize + } else { + t.queues.totalMaxSize = SwitchQueueTotalMinSize + } + core.config.Mutex.RUnlock() t.queues.bufs = make(map[string]switch_buffer) t.idle = make(map[switchPort]time.Time) })