fix register逻辑
This commit is contained in:
parent
9747629017
commit
d31586f0a4
@ -161,6 +161,7 @@ actor SDLContextActor {
|
||||
await self.handleRegisterSuperNak(nakPacket: registerSuperNak)
|
||||
case .peerInfo(let peerInfo):
|
||||
SDLLogger.shared.log("[SDLContext] peer message: \(peerInfo)")
|
||||
self.puncherActor.handlePeerInfo(using: self.udpHole, peerInfo: peerInfo)
|
||||
case .event(let event):
|
||||
await self.handleEvent(event: event)
|
||||
case .policyReponse(let policyResponse):
|
||||
|
||||
@ -37,14 +37,14 @@ actor SDLPuncherActor {
|
||||
|
||||
Task {
|
||||
// 启动冷却期
|
||||
try? await Task.sleep(for: .seconds(5))
|
||||
try? await Task.sleep(for: cooldown)
|
||||
self.endCooldown(for: dstMac)
|
||||
self.removePendingRequest(for: pktId)
|
||||
}
|
||||
}
|
||||
|
||||
func handlePeerInfo(using udpHole: SDLUDPHole, peerInfo: SDLPeerInfo) async {
|
||||
guard let request = pendingRequests.removeValue(forKey: peerInfo.pktID),
|
||||
func handlePeerInfo(using udpHole: SDLUDPHole?, peerInfo: SDLPeerInfo) async {
|
||||
guard let udpHole, let request = pendingRequests.removeValue(forKey: peerInfo.pktID),
|
||||
let remoteAddress = try? await peerInfo.v4Info.socketAddress() else {
|
||||
return
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user