fix channel
This commit is contained in:
parent
67c78df581
commit
45c701e90f
@ -19,7 +19,6 @@ struct LayerPacket {
|
|||||||
|
|
||||||
enum LayerPacketError: Error {
|
enum LayerPacketError: Error {
|
||||||
case invalidLength
|
case invalidLength
|
||||||
case crcError
|
|
||||||
case invaldPacketType
|
case invaldPacketType
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ struct NetworkInterfaceManager {
|
|||||||
if (getnameinfo(&addr, socklen_t(addr.sa_len), &hostname, socklen_t(hostname.count),
|
if (getnameinfo(&addr, socklen_t(addr.sa_len), &hostname, socklen_t(hostname.count),
|
||||||
nil, socklen_t(0), NI_NUMERICHOST) == 0) {
|
nil, socklen_t(0), NI_NUMERICHOST) == 0) {
|
||||||
let address = String(cString: hostname)
|
let address = String(cString: hostname)
|
||||||
|
|
||||||
let name = ptr!.pointee.ifa_name!
|
let name = ptr!.pointee.ifa_name!
|
||||||
let ifname = String(cString: name)
|
let ifname = String(cString: name)
|
||||||
|
|
||||||
|
|||||||
@ -457,7 +457,8 @@ class SDLContext: @unchecked Sendable {
|
|||||||
self.udpHole?.sendPacket(context: self, session: session, data: encodedPacket)
|
self.udpHole?.sendPacket(context: self, session: session, data: encodedPacket)
|
||||||
|
|
||||||
await self.flowTracer.inc(num: data.count, type: .p2p)
|
await self.flowTracer.inc(num: data.count, type: .p2p)
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
// 通过super_node进行转发
|
// 通过super_node进行转发
|
||||||
self.udpHole?.forwardPacket(context: self, dst_mac: dstMac, data: encodedPacket)
|
self.udpHole?.forwardPacket(context: self, dst_mac: dstMac, data: encodedPacket)
|
||||||
// 流量统计
|
// 流量统计
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import NIOCore
|
|||||||
|
|
||||||
// 网络类型探测器
|
// 网络类型探测器
|
||||||
struct SDLNatProber {
|
struct SDLNatProber {
|
||||||
|
|
||||||
// 定义nat类型
|
// 定义nat类型
|
||||||
enum NatType: UInt8, Encodable {
|
enum NatType: UInt8, Encodable {
|
||||||
case blocked = 0
|
case blocked = 0
|
||||||
|
|||||||
@ -77,8 +77,10 @@ class SDLNoticeClient: ChannelInboundHandler, @unchecked Sendable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let remoteAddress = self.remoteAddress
|
let remoteAddress = self.remoteAddress
|
||||||
context.eventLoop.execute {
|
let allocator = context.channel.allocator
|
||||||
let buffer = context.channel.allocator.buffer(bytes: data)
|
|
||||||
|
context.eventLoop.execute { [allocator] in
|
||||||
|
let buffer = allocator.buffer(bytes: data)
|
||||||
let envelope = AddressedEnvelope<ByteBuffer>(remoteAddress: remoteAddress, data: buffer)
|
let envelope = AddressedEnvelope<ByteBuffer>(remoteAddress: remoteAddress, data: buffer)
|
||||||
context.writeAndFlush(self.wrapOutboundOut(envelope), promise: nil)
|
context.writeAndFlush(self.wrapOutboundOut(envelope), promise: nil)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user