mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-24 04:01:07 +03:00
Store less metadata for padding frames.
Summary: Padding frames by definition have no semantics. There also can be quite a large number of them, which makes their storage expensive. Optimize for this by effectively coalescing multiple contiguous padding frames into a single frame. (Note: this ignores all push blocking failures!) Reviewed By: kvtsoy Differential Revision: D44636497 fbshipit-source-id: 4c1cd88123c4fdf40ec9c553885f46669f7326da
This commit is contained in:
committed by
Facebook GitHub Bot
parent
cc22cfa124
commit
bc1277caa0
@@ -98,6 +98,15 @@ void setupCommonExpects(MockQuicPacketBuilder& pktBuilder) {
|
||||
.WillRepeatedly(WithArgs<0>(
|
||||
Invoke([&](auto frame) { pktBuilder.frames_.push_back(frame); })));
|
||||
|
||||
EXPECT_CALL(pktBuilder, appendPaddingFrame()).WillRepeatedly(Invoke([&]() {
|
||||
if (!pktBuilder.frames_.empty() &&
|
||||
pktBuilder.frames_.back().asPaddingFrame()) {
|
||||
pktBuilder.frames_.back().asPaddingFrame()->numFrames++;
|
||||
} else {
|
||||
pktBuilder.frames_.push_back(PaddingFrame());
|
||||
}
|
||||
}));
|
||||
|
||||
EXPECT_CALL(pktBuilder, _insert(_))
|
||||
.WillRepeatedly(WithArgs<0>(Invoke([&](Buf& buf) {
|
||||
pktBuilder.remaining_ -= buf->computeChainDataLength();
|
||||
|
||||
Reference in New Issue
Block a user