diff --git a/autonat.go b/autonat.go index cfde8b2..46b6a93 100644 --- a/autonat.go +++ b/autonat.go @@ -188,7 +188,7 @@ func (as *AmbientAutoNAT) background() { } case e := <-subChan: - switch e.(type) { + switch e := e.(type) { case event.EvtLocalAddressesUpdated: if !lastAddrUpdated.Add(time.Second).After(time.Now()) { lastAddrUpdated = time.Now() @@ -197,13 +197,14 @@ func (as *AmbientAutoNAT) background() { } } case event.EvtPeerIdentificationCompleted: - peer = e.(event.EvtPeerIdentificationCompleted).Peer - if s, err := as.host.Peerstore().SupportsProtocols(peer, AutoNATProto); err == nil && len(s) > 0 { + if s, err := as.host.Peerstore().SupportsProtocols(e.Peer, AutoNATProto); err == nil && len(s) > 0 { currentStatus := as.status.Load().(autoNATResult) if currentStatus.Reachability == network.ReachabilityUnknown { - as.tryProbe(peer) + as.tryProbe(e.Peer) } } + default: + log.Errorf("unknown event type: %T", e) } // probe finished.