34 lines
657 B
Go
34 lines
657 B
Go
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
|
|
}
|
|
}
|