diff --git a/src/yggdrasil/api.go b/src/yggdrasil/api.go index 2f684646..9e82ece1 100644 --- a/src/yggdrasil/api.go +++ b/src/yggdrasil/api.go @@ -178,7 +178,7 @@ func (c *Core) GetDHT() []DHTEntry { dhtentries = append(dhtentries, info) } } - phony.Block(c.router, getDHT) + phony.Block(&c.router, getDHT) return dhtentries } @@ -206,7 +206,7 @@ func (c *Core) GetSwitchQueues() SwitchQueues { switchqueues.Queues = append(switchqueues.Queues, queue) } } - phony.Block(c.switchTable, getSwitchQueues) + phony.Block(&c.switchTable, getSwitchQueues) return switchqueues } @@ -243,7 +243,7 @@ func (c *Core) GetSessions() []Session { sessions = append(sessions, session) } } - phony.Block(c.router, getSessions) + phony.Block(&c.router, getSessions) return sessions } @@ -344,7 +344,7 @@ func (c *Core) GetNodeInfo(key crypto.BoxPubKey, coords []uint64, nocache bool) }) c.router.nodeinfo.sendNodeInfo(key, wire_coordsUint64stoBytes(coords), false) } - phony.Block(c.router, sendNodeInfoRequest) + phony.Block(&c.router, sendNodeInfoRequest) timer := time.AfterFunc(6*time.Second, func() { close(response) }) defer timer.Stop() for res := range response { @@ -454,7 +454,7 @@ func (c *Core) DHTPing(key crypto.BoxPubKey, coords []uint64, target *crypto.Nod }) c.router.dht.ping(&info, &rq.dest) } - phony.Block(c.router, sendPing) + phony.Block(&c.router, sendPing) // TODO: do something better than the below... res := <-resCh if res != nil { diff --git a/src/yggdrasil/conn.go b/src/yggdrasil/conn.go index 4c222266..0a4b84aa 100644 --- a/src/yggdrasil/conn.go +++ b/src/yggdrasil/conn.go @@ -92,7 +92,7 @@ func (c *Conn) setMTU(from phony.Actor, mtu uint16) { func (c *Conn) search() error { var sinfo *searchInfo var isIn bool - phony.Block(c.core.router, func() { + phony.Block(&c.core.router, func() { sinfo, isIn = c.core.router.searches.searches[*c.nodeID] }) if !isIn { @@ -108,7 +108,7 @@ func (c *Conn) search() error { default: } } - phony.Block(c.core.router, func() { + phony.Block(&c.core.router, func() { sinfo = c.core.router.searches.newIterSearch(c.nodeID, c.nodeMask, searchCompleted) sinfo.continueSearch() }) diff --git a/src/yggdrasil/core.go b/src/yggdrasil/core.go index 3719818b..b466e3e8 100644 --- a/src/yggdrasil/core.go +++ b/src/yggdrasil/core.go @@ -176,7 +176,7 @@ func (c *Core) Start(nc *config.NodeConfig, log *log.Logger) (*config.NodeState, c.config.Mutex.RLock() if c.config.Current.SwitchOptions.MaxTotalQueueSize >= SwitchQueueTotalMinSize { - phony.Block(c.switchTable, func() { + phony.Block(&c.switchTable, func() { c.switchTable.queues.totalMaxSize = c.config.Current.SwitchOptions.MaxTotalQueueSize }) } diff --git a/src/yggdrasil/peer.go b/src/yggdrasil/peer.go index 72ff2847..8bd638c4 100644 --- a/src/yggdrasil/peer.go +++ b/src/yggdrasil/peer.go @@ -149,7 +149,7 @@ func (ps *peers) removePeer(port switchPort) { if port == 0 { return } // Can't remove self peer - phony.Block(ps.core.router, func() { + phony.Block(&ps.core.router, func() { ps.core.switchTable.forgetPeer(port) }) ps.mutex.Lock()