package peer import "net/netip" type stateDisconnected2 struct { *peerData } func enterStateDisconnected2(data *peerData) peerState { data.staged.Up = false data.staged.Relay = false data.staged.Direct = false data.staged.DirectAddr = netip.AddrPort{} data.staged.PubSignKey = nil data.staged.ControlCipher = nil data.staged.DataCipher = nil data.publish(data.staged) data.pingTimer.Stop() return &stateDisconnected2{data} } func (s *stateDisconnected2) OnMsg(raw any) peerState { switch msg := raw.(type) { case peerUpdateMsg: return initPeerState(s.peerData, msg.Peer) default: s.logf("Ignoring message: %v", raw) return s } }