fix udpHole

This commit is contained in:
anlicheng 2026-05-22 17:19:05 +08:00
parent e07c81567a
commit a728fd5408

View File

@ -1,7 +1,7 @@
// //
// SDLUDPHoleHandler.swift // SDLUDPHoleHandler.swift
// punchnet // punchnet
// // SDLUDPHoleactorSDLUDPHoleHandler
// Created by on 2026/5/22. // Created by on 2026/5/22.
// //
import Foundation import Foundation
@ -23,9 +23,6 @@ final class SDLUDPHoleHandler: ChannelInboundHandler {
public let messageStream: AsyncThrowingStream<SDLHoleDatagram, Error> public let messageStream: AsyncThrowingStream<SDLHoleDatagram, Error>
private let messageContinuation: AsyncThrowingStream<SDLHoleDatagram, Error>.Continuation private let messageContinuation: AsyncThrowingStream<SDLHoleDatagram, Error>.Continuation
private let locker = NSLock()
private var isStopped: Bool = false
// //
init() throws { init() throws {
let (stream, continuation) = AsyncThrowingStream.makeStream(of: SDLHoleDatagram.self, bufferingPolicy: .bufferingNewest(2048)) let (stream, continuation) = AsyncThrowingStream.makeStream(of: SDLHoleDatagram.self, bufferingPolicy: .bufferingNewest(2048))
@ -102,16 +99,6 @@ final class SDLUDPHoleHandler: ChannelInboundHandler {
} }
func stop() { func stop() {
locker.lock()
defer {
locker.unlock()
}
guard !self.isStopped else {
return
}
self.isStopped = true
self.messageContinuation.finish() self.messageContinuation.finish()
let channel = self.channel let channel = self.channel
self.channel = nil self.channel = nil