fix quic
This commit is contained in:
parent
c3e93466b1
commit
e54f898c7d
@ -116,13 +116,18 @@ actor SDLQUICReader {
|
||||
|
||||
func start() {
|
||||
self.readTask = Task {
|
||||
var buffer: ByteBuffer = allocator.buffer(capacity: self.maxBufferSize)
|
||||
var buffer = allocator.buffer(capacity: self.maxBufferSize)
|
||||
let threshold = self.maxBufferSize / 10 * 6
|
||||
do {
|
||||
while !Task.isCancelled {
|
||||
let (isComplete, data) = try await self.readOnce()
|
||||
if let data, !data.isEmpty {
|
||||
buffer.writeBytes(data)
|
||||
let frames = try parseFrames(buffer: &buffer)
|
||||
if buffer.readerIndex > threshold {
|
||||
buffer.discardReadBytes()
|
||||
}
|
||||
|
||||
for frame in frames {
|
||||
if let message = SDLQUICCodec.decode(frame: frame) {
|
||||
self.messageCont.yield(message)
|
||||
@ -166,11 +171,7 @@ actor SDLQUICReader {
|
||||
frames.append(buf)
|
||||
}
|
||||
}
|
||||
|
||||
if buffer.readerIndex > maxBufferSize / 10 * 6 {
|
||||
buffer.discardReadBytes()
|
||||
}
|
||||
|
||||
|
||||
return frames
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user