diff --git a/Tun/Punchnet/SDLContext.swift b/Tun/Punchnet/SDLContext.swift index 511eada..aa8ecb9 100644 --- a/Tun/Punchnet/SDLContext.swift +++ b/Tun/Punchnet/SDLContext.swift @@ -44,7 +44,7 @@ public class SDLContext { // 依赖的变量 var udpHole: SDLUDPHole? - var providerActor: SDLTunnelProviderActor + var providerAdapter: SDLTunnelProviderAdapter var puncherActor: SDLPuncherActor // dns的client对象 var dnsClient: SDLDNSClient? @@ -82,7 +82,7 @@ public class SDLContext { self.sessionManager = SessionManager() self.arpServer = ArpServer(known_macs: [:]) - self.providerActor = SDLTunnelProviderActor(provider: provider, logger: logger) + self.providerAdapter = SDLTunnelProviderAdapter(provider: provider, logger: logger) self.puncherActor = SDLPuncherActor(querySocketAddress: config.stunSocketAddress, logger: logger) } @@ -135,7 +135,7 @@ public class SDLContext { if let packetFlow = self.dnsClient?.packetFlow { for await packet in packetFlow { let nePacket = NEPacket(data: packet, protocolFamily: 2) - await self.providerActor.writePackets(packets: [nePacket]) + self.providerAdapter.writePackets(packets: [nePacket]) } } } @@ -248,7 +248,7 @@ public class SDLContext { self.logger.log("[SDLContext] get registerSuperAck, aes_key len: \(aesKey.count)", level: .info) // 服务器分配的tun网卡信息 do { - let ipAddress = try await self.providerActor.setNetworkSettings(networkAddress: self.config.networkAddress, dnsServer: SDLDNSClient.Helper.dnsServer) + let ipAddress = try await self.providerAdapter.setNetworkSettings(networkAddress: self.config.networkAddress, dnsServer: SDLDNSClient.Helper.dnsServer) self.noticeClient?.send(data: NoticeMessage.ipAdress(ip: ipAddress)) self.startReader() @@ -377,7 +377,7 @@ public class SDLContext { return } let packet = NEPacket(data: ipPacket.data, protocolFamily: 2) - await self.providerActor.writePackets(packets: [packet]) + self.providerAdapter.writePackets(packets: [packet]) default: self.logger.log("[SDLContext] get invalid packet", level: .debug) } @@ -406,7 +406,7 @@ public class SDLContext { // 开启新的任务 self.readTask = Task(priority: .high) { repeat { - let packets = await self.providerActor.readPackets() + let packets = await self.providerAdapter.readPackets() Task { let ipPackets = packets.compactMap { IPPacket($0) } await self.batchProcessPackets(batchSize: 20, packets: ipPackets) @@ -445,7 +445,7 @@ public class SDLContext { // 本地通讯, 目标地址是本地服务器的ip地址 if dstIp == networkAddr.ip { let nePacket = NEPacket(data: packet.data, protocolFamily: 2) - await self.providerActor.writePackets(packets: [nePacket]) + self.providerAdapter.writePackets(packets: [nePacket]) return } diff --git a/Tun/Punchnet/Actors/SDLNoticeClient.swift b/Tun/Punchnet/SDLNoticeClient.swift similarity index 100% rename from Tun/Punchnet/Actors/SDLNoticeClient.swift rename to Tun/Punchnet/SDLNoticeClient.swift diff --git a/Tun/Punchnet/Actors/SDLTunnelProviderActor.swift b/Tun/Punchnet/SDLTunnelProviderAdapter.swift similarity index 96% rename from Tun/Punchnet/Actors/SDLTunnelProviderActor.swift rename to Tun/Punchnet/SDLTunnelProviderAdapter.swift index a934113..77feacb 100644 --- a/Tun/Punchnet/Actors/SDLTunnelProviderActor.swift +++ b/Tun/Punchnet/SDLTunnelProviderAdapter.swift @@ -15,7 +15,7 @@ import Combine 1. 处理rsa的加解密逻辑 */ -actor SDLTunnelProviderActor { +final class SDLTunnelProviderAdapter { // 路由信息 struct Route { @@ -27,9 +27,6 @@ actor SDLTunnelProviderActor { } } - // 数据包读取任务 - private var readTask: Task<(), Never>? - let provider: NEPacketTunnelProvider let logger: SDLLogger