fix context
This commit is contained in:
parent
de79811623
commit
075010703a
@ -113,6 +113,7 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
try await self.startUDPHole()
|
try await self.startUDPHole()
|
||||||
} catch let err {
|
} catch let err {
|
||||||
self.logger.log("[SDLContext] UDPHole get err: \(err)", level: .warning)
|
self.logger.log("[SDLContext] UDPHole get err: \(err)", level: .warning)
|
||||||
|
try await Task.sleep(for: .seconds(2))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,6 +140,7 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
try await self.startNoticeClient()
|
try await self.startNoticeClient()
|
||||||
} catch let err {
|
} catch let err {
|
||||||
self.logger.log("[SDLContext] noticeClient get err: \(err)", level: .warning)
|
self.logger.log("[SDLContext] noticeClient get err: \(err)", level: .warning)
|
||||||
|
try await Task.sleep(for: .seconds(2))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -168,6 +170,10 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
private func startUDPHole() async throws {
|
private func startUDPHole() async throws {
|
||||||
self.udpHole = try await SDLUDPHole(logger: self.logger)
|
self.udpHole = try await SDLUDPHole(logger: self.logger)
|
||||||
try await withThrowingTaskGroup(of: Void.self) { group in
|
try await withThrowingTaskGroup(of: Void.self) { group in
|
||||||
|
defer {
|
||||||
|
self.logger.log("[SDLContext] udp_hole task cancel", level: .warning)
|
||||||
|
}
|
||||||
|
|
||||||
group.addTask {
|
group.addTask {
|
||||||
try await self.udpHole?.start()
|
try await self.udpHole?.start()
|
||||||
}
|
}
|
||||||
@ -187,7 +193,6 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
try await group.waitForAll()
|
try await group.waitForAll()
|
||||||
self.logger.log("[SDLContext] udp_hole task cancel", level: .warning)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -195,6 +200,10 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
private func startSuperClient() async throws {
|
private func startSuperClient() async throws {
|
||||||
self.superClient = try await SDLSuperClient(host: self.config.superHost, port: self.config.superPort, logger: self.logger)
|
self.superClient = try await SDLSuperClient(host: self.config.superHost, port: self.config.superPort, logger: self.logger)
|
||||||
try await withThrowingTaskGroup(of: Void.self) { group in
|
try await withThrowingTaskGroup(of: Void.self) { group in
|
||||||
|
defer {
|
||||||
|
self.logger.log("[SDLContext] super client task cancel", level: .warning)
|
||||||
|
}
|
||||||
|
|
||||||
group.addTask {
|
group.addTask {
|
||||||
try await self.superClient?.start()
|
try await self.superClient?.start()
|
||||||
}
|
}
|
||||||
@ -207,7 +216,6 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
try await group.waitForAll()
|
try await group.waitForAll()
|
||||||
self.logger.log("[SDLContext] super client task cancel", level: .warning)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -467,10 +475,6 @@ public class SDLContext: @unchecked Sendable {
|
|||||||
// 开启新的任务
|
// 开启新的任务
|
||||||
self.readTask = Task(priority: .high) {
|
self.readTask = Task(priority: .high) {
|
||||||
repeat {
|
repeat {
|
||||||
if Task.isCancelled {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
let (packets, numbers) = await self.provider.packetFlow.readPackets()
|
let (packets, numbers) = await self.provider.packetFlow.readPackets()
|
||||||
for (data, number) in zip(packets, numbers) where number == 2 {
|
for (data, number) in zip(packets, numbers) where number == 2 {
|
||||||
if let packet = IPPacket(data) {
|
if let packet = IPPacket(data) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user