1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-07-29 03:41:11 +03:00

Elevate exceptions out of writeStreamFrameHeader

Summary: Return an error and throw in callers instead.

Reviewed By: sharmafb

Differential Revision: D70011330

fbshipit-source-id: 9dc16d0f67ac13c58c3d89132d3bdc0c99e0cdd9
This commit is contained in:
Konstantin Tsoy
2025-02-25 09:02:01 -08:00
committed by Facebook GitHub Bot
parent 71b4e1c613
commit 7ba66a2d77
10 changed files with 118 additions and 42 deletions

View File

@ -358,7 +358,7 @@ bool StreamFrameScheduler::writeStreamLossBuffers(
buffer != stream.lossBuffer.cend();
++buffer) {
auto bufferLen = buffer->data.chainLength();
auto dataLen = writeStreamFrameHeader(
auto res = writeStreamFrameHeader(
builder,
stream.id,
buffer->offset,
@ -367,6 +367,11 @@ bool StreamFrameScheduler::writeStreamLossBuffers(
buffer->eof,
none /* skipLenHint */,
stream.groupId);
if (res.hasError()) {
throw QuicInternalException(
res.error().message, *res.error().code.asLocalErrorCode());
}
auto dataLen = *res;
if (dataLen) {
wroteStreamFrame = true;
writeStreamFrameData(builder, buffer->data, *dataLen);
@ -528,7 +533,7 @@ bool StreamFrameScheduler::writeStreamFrame(
bool canWriteFin = stream.finalWriteOffset.has_value() &&
bufferLen <= flowControlLen && stream.writeBufMeta.offset == 0;
auto writeOffset = stream.currentWriteOffset;
auto dataLen = writeStreamFrameHeader(
auto res = writeStreamFrameHeader(
builder,
stream.id,
writeOffset,
@ -537,6 +542,11 @@ bool StreamFrameScheduler::writeStreamFrame(
canWriteFin,
none /* skipLenHint */,
stream.groupId);
if (res.hasError()) {
throw QuicInternalException(
res.error().message, *res.error().code.asLocalErrorCode());
}
auto dataLen = *res;
if (!dataLen) {
return false;
}