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 providerActor: SDLTunnelProviderActor
var providerAdapter: SDLTunnelProviderAdapter
var puncherActor: SDLPuncherActor
// dnsclient
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
}

View File

@ -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