fix buffer

This commit is contained in:
anlicheng 2026-05-21 22:10:39 +08:00
parent 3da5201778
commit 7c46838101

View File

@ -33,31 +33,31 @@ extension SDLHoleMessage {
switch packetType { switch packetType {
case .data: case .data:
guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .noCopy), guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .copy),
let dataPacket = try? SDLData(serializedBytes: bytes) else { let dataPacket = try? SDLData(serializedBytes: bytes) else {
return nil return nil
} }
return .data(dataPacket) return .data(dataPacket)
case .register: case .register:
guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .noCopy), guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .copy),
let registerPacket = try? SDLRegister(serializedBytes: bytes) else { let registerPacket = try? SDLRegister(serializedBytes: bytes) else {
return nil return nil
} }
return .control(.register(registerPacket)) return .control(.register(registerPacket))
case .registerAck: case .registerAck:
guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .noCopy), guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .copy),
let registerAck = try? SDLRegisterAck(serializedBytes: bytes) else { let registerAck = try? SDLRegisterAck(serializedBytes: bytes) else {
return nil return nil
} }
return .control(.registerAck(registerAck)) return .control(.registerAck(registerAck))
case .stunProbeReply: case .stunProbeReply:
guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .noCopy), guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .copy),
let stunProbeReply = try? SDLStunProbeReply(serializedBytes: bytes) else { let stunProbeReply = try? SDLStunProbeReply(serializedBytes: bytes) else {
return nil return nil
} }
return .control(.stunProbeReply(stunProbeReply)) return .control(.stunProbeReply(stunProbeReply))
case .stunReply: case .stunReply:
guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .noCopy), guard let bytes = buffer.readData(length: buffer.readableBytes, byteTransferStrategy: .copy),
let stunReply = try? SDLStunReply(serializedBytes: bytes) else { let stunReply = try? SDLStunReply(serializedBytes: bytes) else {
return nil return nil
} }