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

Propagate error in scheduleFramesForPacket and writeData

Summary: As in title, this is more of a theme on adding an Expected return.

Reviewed By: kvtsoy

Differential Revision: D72579218

fbshipit-source-id: 25735535368838f1a4315667cd7e9e9b5df1c485
This commit is contained in:
Matt Joras
2025-04-08 21:06:35 -07:00
committed by Facebook GitHub Bot
parent 28b13b22d8
commit 2a8fba588f
27 changed files with 513 additions and 360 deletions

View File

@ -218,7 +218,8 @@ FrameScheduler::FrameScheduler(
QuicConnectionStateBase& conn)
: name_(name), conn_(conn) {}
SchedulingResult FrameScheduler::scheduleFramesForPacket(
folly::Expected<SchedulingResult, QuicError>
FrameScheduler::scheduleFramesForPacket(
PacketBuilderInterface&& builder,
uint32_t writableBytes) {
size_t shortHeaderPadding = 0;
@ -796,7 +797,8 @@ bool CloningScheduler::hasData() const {
conn_.outstandings.numOutstanding() > conn_.outstandings.dsrCount;
}
SchedulingResult CloningScheduler::scheduleFramesForPacket(
folly::Expected<SchedulingResult, QuicError>
CloningScheduler::scheduleFramesForPacket(
PacketBuilderInterface&& builder,
uint32_t writableBytes) {
// Store header type information before any moves
@ -903,9 +905,8 @@ SchedulingResult CloningScheduler::scheduleFramesForPacket(
// Rebuilder will write the rest of frames
auto rebuildResultExpected = rebuilder.rebuildFromPacket(outstandingPacket);
// TODO handle error better.
if (rebuildResultExpected.hasError()) {
return SchedulingResult(none, none, 0);
return folly::makeUnexpected(rebuildResultExpected.error());
}
if (rebuildResultExpected.value()) {
return SchedulingResult(