diff --git a/Tun/PacketTunnelProvider.swift b/Tun/PacketTunnelProvider.swift index e184396..83a6b0b 100644 --- a/Tun/PacketTunnelProvider.swift +++ b/Tun/PacketTunnelProvider.swift @@ -39,17 +39,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider { self.contextActor = contextActor await contextActor.start() - // 这里的事件,只有启动相关的事件 - for await event in await contextActor.events() { - switch event { - case .ready: - completionHandler(nil) - case .failed(let err): - await self.contextActor?.stop() - self.contextActor = nil - completionHandler(err) - } - } + completionHandler(nil) } } diff --git a/Tun/Punchnet/Actors/SDLContextActor.swift b/Tun/Punchnet/Actors/SDLContextActor.swift index ae6859e..0662f92 100644 --- a/Tun/Punchnet/Actors/SDLContextActor.swift +++ b/Tun/Punchnet/Actors/SDLContextActor.swift @@ -9,11 +9,6 @@ import Foundation import NetworkExtension import NIOCore -public enum SDLContextEvent: Sendable { - case ready - case failed(Error) -} - // 上下文环境变量,全局共享 /* 1. 处理rsa的加解密逻辑 @@ -41,10 +36,6 @@ actor SDLContextActor { } } - // 内部事件 - private let eventStream: AsyncStream - private let eventContinuation: AsyncStream.Continuation - private var readyState: ReadyState = .idle var config: SDLConfiguration @@ -129,11 +120,6 @@ actor SDLContextActor { self.config = config self.rsaCipher = rsaCipher - // 事件通知器 - let pair = AsyncStream.makeStream(bufferingPolicy: .bufferingNewest(32)) - self.eventStream = pair.stream - self.eventContinuation = pair.continuation - self.puncherActor = SDLPuncherActor() self.proberActor = SDLNATProberActor(addressArray: config.stunProbeSocketAddressArray) @@ -154,10 +140,6 @@ actor SDLContextActor { await self.startRuntime(resetNotifier: true) } - public func events() -> AsyncStream { - return eventStream - } - private func startRuntime(resetNotifier: Bool) async { if resetNotifier { self.prepareTunnelNotifier() @@ -791,14 +773,10 @@ extension SDLContextActor { SDLLogger.log("[SDLContext] setNetworkSettings successed") self.superRegistrationStateMachine.handleRegisterSuperAck() self.startReader() - self.eventContinuation.yield(.ready) - self.eventContinuation.finish() } catch let err { self.superRegistrationStateMachine.handleFailure() SDLLogger.log("[SDLContext] setTunnelNetworkSettings get error: \(err)") self.provider.cancelTunnelWithError(err) - self.eventContinuation.yield(.failed(err)) - self.eventContinuation.finish() } }