From 773af7292b9528086f9bcf31846f5c27fe9745db Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Wed, 10 Nov 2021 18:20:41 -0800 Subject: [PATCH] wgengine/magicsock: simplify peerMap.upsertEndpoint We can do the "maybe delete" check unilaterally: In the case of an insert, both oldDiscoKey and ep.discoKey will be the zero value. And since we don't use pi again, we can skip giving it a name, which makes scoping clearer. Signed-off-by: Josh Bleecher Snyder --- wgengine/magicsock/magicsock.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/wgengine/magicsock/magicsock.go b/wgengine/magicsock/magicsock.go index a264abaa5..ded52577e 100644 --- a/wgengine/magicsock/magicsock.go +++ b/wgengine/magicsock/magicsock.go @@ -169,14 +169,11 @@ func (m *peerMap) forEachEndpointWithDiscoKey(dk key.DiscoPublic, f func(ep *end // ep.publicKey, and updates indexes. m must already have a // tailcfg.Node for ep.publicKey. func (m *peerMap) upsertEndpoint(ep *endpoint, oldDiscoKey key.DiscoPublic) { - pi := m.byNodeKey[ep.publicKey] - if pi == nil { - pi = newPeerInfo(ep) - m.byNodeKey[ep.publicKey] = pi - } else { - if oldDiscoKey != ep.discoKey { - delete(m.nodesOfDisco[oldDiscoKey], ep.publicKey) - } + if m.byNodeKey[ep.publicKey] == nil { + m.byNodeKey[ep.publicKey] = newPeerInfo(ep) + } + if oldDiscoKey != ep.discoKey { + delete(m.nodesOfDisco[oldDiscoKey], ep.publicKey) } if !ep.discoKey.IsZero() { set := m.nodesOfDisco[ep.discoKey]