diff --git a/Tun/Punchnet/Actors/SDLContextActor.swift b/Tun/Punchnet/Actors/SDLContextActor.swift index 5b09b25..e22608d 100644 --- a/Tun/Punchnet/Actors/SDLContextActor.swift +++ b/Tun/Punchnet/Actors/SDLContextActor.swift @@ -448,10 +448,7 @@ actor SDLContextActor { } private func handleEvent(event: SDLEvent) async { - switch event { - // case .dropMacs(let dropMacsEvent): - // SDLLogger.shared.log("[SDLContext] drop macs", level: .info) - // await self.arpServer.dropMacs(macs: dropMacsEvent.macs) + switch event.event { case .natChanged(let natChangedEvent): let dstMac = natChangedEvent.mac SDLLogger.shared.log("[SDLContext] natChangedEvent, dstMac: \(dstMac)", level: .info) @@ -467,13 +464,15 @@ actor SDLContextActor { register.dstMac = sendRegisterEvent.dstMac self.udpHole?.send(type: .register, data: try! register.serializedData(), remoteAddress: remoteAddress) } - case .networkShutdown(let shutdownEvent): + case .shutdown(let shutdownEvent): let alertNotice = NoticeMessage.alert(alert: shutdownEvent.message) self.noticeClient?.send(data: alertNotice) // 报告错误并退出 let error = NSError(domain: "com.jihe.punchnet.tun", code: -2) self.provider.cancelTunnelWithError(error) + case .none: + () } } diff --git a/Tun/Punchnet/Actors/SDLQuicClient.swift b/Tun/Punchnet/Actors/SDLQuicClient.swift index f151d7b..9112494 100644 --- a/Tun/Punchnet/Actors/SDLQuicClient.swift +++ b/Tun/Punchnet/Actors/SDLQuicClient.swift @@ -237,33 +237,11 @@ final class SDLQUICClient { } return .arpResponse(arpResponse) case .event: - guard let eventVal = buffer.readInteger(as: UInt8.self), - let event = SDLEventType(rawValue: eventVal), - let bytes = buffer.readBytes(length: buffer.readableBytes) else { - SDLLogger.shared.log("[SDLQUICClient] decode error 15") + guard let bytes = buffer.readBytes(length: buffer.readableBytes), + let event = try? SDLEvent(serializedBytes: bytes) else { return nil } - - switch event { - case .natChanged: - guard let natChangedEvent = try? SDLNatChangedEvent(serializedBytes: bytes) else { - SDLLogger.shared.log("[SDLQUICClient] decode error 16") - return nil - } - return .event(.natChanged(natChangedEvent)) - case .sendRegister: - guard let sendRegisterEvent = try? SDLSendRegisterEvent(serializedBytes: bytes) else { - SDLLogger.shared.log("[SDLQUICClient] decode error 17") - return nil - } - return .event(.sendRegister(sendRegisterEvent)) - case .networkShutdown: - guard let networkShutdownEvent = try? SDLNetworkShutdownEvent(serializedBytes: bytes) else { - SDLLogger.shared.log("[SDLQUICClient] decode error 18") - return nil - } - return .event(.networkShutdown(networkShutdownEvent)) - } + return .event(event) case .pong: return .pong default: