This commit is contained in:
anlicheng 2026-01-29 22:28:13 +08:00
parent 5bb971bef3
commit faebe09da0
3 changed files with 8 additions and 11 deletions

View File

@ -44,7 +44,7 @@ public class SDLContext {
// //
var udpHole: SDLUDPHole? var udpHole: SDLUDPHole?
var providerActor: SDLTunnelProviderActor var providerAdapter: SDLTunnelProviderAdapter
var puncherActor: SDLPuncherActor var puncherActor: SDLPuncherActor
// dnsclient // dnsclient
var dnsClient: SDLDNSClient? var dnsClient: SDLDNSClient?
@ -82,7 +82,7 @@ public class SDLContext {
self.sessionManager = SessionManager() self.sessionManager = SessionManager()
self.arpServer = ArpServer(known_macs: [:]) 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) self.puncherActor = SDLPuncherActor(querySocketAddress: config.stunSocketAddress, logger: logger)
} }
@ -135,7 +135,7 @@ public class SDLContext {
if let packetFlow = self.dnsClient?.packetFlow { if let packetFlow = self.dnsClient?.packetFlow {
for await packet in packetFlow { for await packet in packetFlow {
let nePacket = NEPacket(data: packet, protocolFamily: 2) 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) self.logger.log("[SDLContext] get registerSuperAck, aes_key len: \(aesKey.count)", level: .info)
// tun // tun
do { 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.noticeClient?.send(data: NoticeMessage.ipAdress(ip: ipAddress))
self.startReader() self.startReader()
@ -377,7 +377,7 @@ public class SDLContext {
return return
} }
let packet = NEPacket(data: ipPacket.data, protocolFamily: 2) let packet = NEPacket(data: ipPacket.data, protocolFamily: 2)
await self.providerActor.writePackets(packets: [packet]) self.providerAdapter.writePackets(packets: [packet])
default: default:
self.logger.log("[SDLContext] get invalid packet", level: .debug) self.logger.log("[SDLContext] get invalid packet", level: .debug)
} }
@ -406,7 +406,7 @@ public class SDLContext {
// //
self.readTask = Task(priority: .high) { self.readTask = Task(priority: .high) {
repeat { repeat {
let packets = await self.providerActor.readPackets() let packets = await self.providerAdapter.readPackets()
Task { Task {
let ipPackets = packets.compactMap { IPPacket($0) } let ipPackets = packets.compactMap { IPPacket($0) }
await self.batchProcessPackets(batchSize: 20, packets: ipPackets) await self.batchProcessPackets(batchSize: 20, packets: ipPackets)
@ -445,7 +445,7 @@ public class SDLContext {
// , ip // , ip
if dstIp == networkAddr.ip { if dstIp == networkAddr.ip {
let nePacket = NEPacket(data: packet.data, protocolFamily: 2) let nePacket = NEPacket(data: packet.data, protocolFamily: 2)
await self.providerActor.writePackets(packets: [nePacket]) self.providerAdapter.writePackets(packets: [nePacket])
return return
} }

View File

@ -15,7 +15,7 @@ import Combine
1. rsa的加解密逻辑 1. rsa的加解密逻辑
*/ */
actor SDLTunnelProviderActor { final class SDLTunnelProviderAdapter {
// //
struct Route { struct Route {
@ -27,9 +27,6 @@ actor SDLTunnelProviderActor {
} }
} }
//
private var readTask: Task<(), Never>?
let provider: NEPacketTunnelProvider let provider: NEPacketTunnelProvider
let logger: SDLLogger let logger: SDLLogger