1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-08-06 22:22:38 +03:00

Use appendToChain instead of deprecated name prependChain

Summary: See title

Differential Revision: D74206613

fbshipit-source-id: b8acaaabe3de34f5e5af03e91455ccb342939c86
This commit is contained in:
Aman Sharma
2025-05-06 21:04:52 -07:00
committed by Facebook GitHub Bot
parent a56be059b9
commit 469da60216
22 changed files with 73 additions and 73 deletions

View File

@@ -51,7 +51,7 @@ bool GSOPacketBatchWriter::append(
// now we've got an additional buffer // now we've got an additional buffer
// append it to the chain // append it to the chain
buf_->prependChain(std::move(buf)); buf_->appendToChain(std::move(buf));
currBufs_++; currBufs_++;
// see if we've added a different size // see if we've added a different size
@@ -252,7 +252,7 @@ bool SendmmsgGSOPacketBatchWriter::append(
// we can append // we can append
options_[idx].gso = prevSize_[idx]; options_[idx].gso = prevSize_[idx];
prevSize_[idx] = size; prevSize_[idx] = size;
bufs_[idx]->prependChain(std::move(buf)); bufs_[idx]->appendToChain(std::move(buf));
currBufs_++; currBufs_++;
// flush if we reach maxBufs_ // flush if we reach maxBufs_

View File

@@ -1441,7 +1441,7 @@ void writeCloseCommon(
bufUniquePtr->length(), bufUniquePtr->length(),
headerCipher); headerCipher);
folly::IOBuf packetBuf(std::move(packet.header)); folly::IOBuf packetBuf(std::move(packet.header));
packetBuf.prependChain(std::move(bufUniquePtr)); packetBuf.appendToChain(std::move(bufUniquePtr));
auto packetSize = packetBuf.computeChainDataLength(); auto packetSize = packetBuf.computeChainDataLength();
if (connection.qLogger) { if (connection.qLogger) {
connection.qLogger->addPacket(packet.packet, packetSize); connection.qLogger->addPacket(packet.packet, packetSize);

View File

@@ -3285,7 +3285,7 @@ TEST_F(QuicTransportFunctionsTest, WriteProbingOldData) {
EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _)) EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _))
.WillRepeatedly(Invoke([&](auto& buf, auto, auto) { .WillRepeatedly(Invoke([&](auto& buf, auto, auto) {
if (buf) { if (buf) {
pktBodyCaptured.prependChain(buf->clone()); pktBodyCaptured.appendToChain(buf->clone());
return buf->clone(); return buf->clone();
} else { } else {
return folly::IOBuf::create(0); return folly::IOBuf::create(0);
@@ -3299,7 +3299,7 @@ TEST_F(QuicTransportFunctionsTest, WriteProbingOldData) {
EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _)) EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _))
.WillRepeatedly(Invoke([&](auto& buf, auto, auto) { .WillRepeatedly(Invoke([&](auto& buf, auto, auto) {
if (buf) { if (buf) {
secondBodyCaptured.prependChain(buf->clone()); secondBodyCaptured.appendToChain(buf->clone());
return buf->clone(); return buf->clone();
} else { } else {
return folly::IOBuf::create(0); return folly::IOBuf::create(0);
@@ -3332,7 +3332,7 @@ TEST_F(QuicTransportFunctionsTest, WriteProbingOldDataAckFreq) {
EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _)) EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _))
.WillRepeatedly(Invoke([&](auto& buf, auto, auto) { .WillRepeatedly(Invoke([&](auto& buf, auto, auto) {
if (buf) { if (buf) {
pktBodyCaptured.prependChain(buf->clone()); pktBodyCaptured.appendToChain(buf->clone());
return buf->clone(); return buf->clone();
} else { } else {
return folly::IOBuf::create(0); return folly::IOBuf::create(0);
@@ -3352,7 +3352,7 @@ TEST_F(QuicTransportFunctionsTest, WriteProbingOldDataAckFreq) {
EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _)) EXPECT_CALL(*capturingAead, _inplaceEncrypt(_, _, _))
.WillRepeatedly(Invoke([&](auto& buf, auto, auto) { .WillRepeatedly(Invoke([&](auto& buf, auto, auto) {
if (buf) { if (buf) {
secondBodyCaptured.prependChain(buf->clone()); secondBodyCaptured.appendToChain(buf->clone());
return buf->clone(); return buf->clone();
} else { } else {
return folly::IOBuf::create(0); return folly::IOBuf::create(0);

View File

@@ -1073,7 +1073,7 @@ TYPED_TEST(
this->getTransport()->writeChain(streamId, data2->clone(), false); this->getTransport()->writeChain(streamId, data2->clone(), false);
const auto maybeWrittenPackets2 = this->loopForWrites(); const auto maybeWrittenPackets2 = this->loopForWrites();
data1->prependChain(std::move(data2)); data1->appendToChain(std::move(data2));
auto combined = std::move(data1); auto combined = std::move(data1);
// should have sent two packets // should have sent two packets

View File

@@ -31,7 +31,7 @@ BufPtr packetToBuf(
// This does not matter. // This does not matter.
PacketNum num = 10; PacketNum num = 10;
if (!packet.header.empty()) { if (!packet.header.empty()) {
buf->prependChain(packet.header.clone()); buf->appendToChain(packet.header.clone());
} }
std::unique_ptr<folly::IOBuf> body = folly::IOBuf::create(0); std::unique_ptr<folly::IOBuf> body = folly::IOBuf::create(0);
if (!packet.body.empty()) { if (!packet.body.empty()) {
@@ -43,7 +43,7 @@ BufPtr packetToBuf(
EXPECT_GT(body->computeChainDataLength(), bodySize); EXPECT_GT(body->computeChainDataLength(), bodySize);
} }
if (body) { if (body) {
buf->prependChain(std::move(body)); buf->appendToChain(std::move(body));
} }
return buf; return buf;
} }
@@ -296,7 +296,7 @@ TEST_P(QuicPacketBuilderTest, EnforcePacketSizeWithCipherOverhead) {
auto overhead = folly::IOBuf::create(1000); auto overhead = folly::IOBuf::create(1000);
overhead->append(cipherOverhead); overhead->append(cipherOverhead);
auto clone = buf->clone(); auto clone = buf->clone();
clone->prependChain(std::move(overhead)); clone->appendToChain(std::move(overhead));
return std::move(clone); return std::move(clone);
})); }));

View File

@@ -129,7 +129,7 @@ void BufQueue::appendToChain(BufPtr& dst, BufPtr&& src) {
if (dst == nullptr) { if (dst == nullptr) {
dst = std::move(src); dst = std::move(src);
} else { } else {
dst->prependChain(std::move(src)); dst->appendToChain(std::move(src));
} }
} }
@@ -140,7 +140,7 @@ void BufAppender::push(const uint8_t* data, size_t len) {
if (crtBuf_->tailroom() < len || lastBufShared_) { if (crtBuf_->tailroom() < len || lastBufShared_) {
auto newBuf = BufHelpers::createCombined(std::max(appendLen_, len)); auto newBuf = BufHelpers::createCombined(std::max(appendLen_, len));
Buf* newBufPtr = newBuf.get(); Buf* newBufPtr = newBuf.get();
head_->prependChain(std::move(newBuf)); head_->appendToChain(std::move(newBuf));
crtBuf_ = newBufPtr; crtBuf_ = newBufPtr;
} }
memcpy(crtBuf_->writableTail(), data, len); memcpy(crtBuf_->writableTail(), data, len);
@@ -155,7 +155,7 @@ void BufAppender::insert(BufPtr data) {
// If the buffer is shared we do not want to overrwrite the tail of the // If the buffer is shared we do not want to overrwrite the tail of the
// buffer. // buffer.
lastBufShared_ = data->isShared(); lastBufShared_ = data->isShared();
head_->prependChain(std::move(data)); head_->appendToChain(std::move(data));
crtBuf_ = dataPtr; crtBuf_ = dataPtr;
} }

View File

@@ -152,7 +152,7 @@ struct NetworkData {
BufPtr buf; BufPtr buf;
for (auto& packet : packets_) { for (auto& packet : packets_) {
if (buf) { if (buf) {
buf->prependChain(packet.buf.move()); buf->appendToChain(packet.buf.move());
} else { } else {
buf = packet.buf.move(); buf = packet.buf.move();
} }

View File

@@ -44,14 +44,14 @@ chunkIOBuf(std::unique_ptr<IOBuf> input, size_t chunks, BufCreator creator) {
if (!chunked) { if (!chunked) {
chunked = std::move(buf); chunked = std::move(buf);
} else { } else {
chunked->prependChain(std::move(buf)); chunked->appendToChain(std::move(buf));
} }
} }
size_t remainLen = inputLen - (chunks - 1) * chunkLen; size_t remainLen = inputLen - (chunks - 1) * chunkLen;
auto remain = creator(remainLen, chunks - 1); auto remain = creator(remainLen, chunks - 1);
remain->append(remainLen); remain->append(remainLen);
chunked->prependChain(std::move(remain)); chunked->appendToChain(std::move(remain));
transformBuffer( transformBuffer(
*input, *chunked, [](uint8_t* out, const uint8_t* in, size_t len) { *input, *chunked, [](uint8_t* out, const uint8_t* in, size_t len) {

View File

@@ -33,7 +33,7 @@ TEST(BufAccessor, CapacityMatch) {
TEST(BufAccessor, RefuseChainedBuf) { TEST(BufAccessor, RefuseChainedBuf) {
BufAccessor accessor(1000); BufAccessor accessor(1000);
auto buf = accessor.obtain(); auto buf = accessor.obtain();
buf->prependChain(folly::IOBuf::create(0)); buf->appendToChain(folly::IOBuf::create(0));
EXPECT_DEATH(accessor.release(std::move(buf)), ""); EXPECT_DEATH(accessor.release(std::move(buf)), "");
} }
} // namespace quic } // namespace quic

View File

@@ -427,9 +427,9 @@ TEST(BufWriterTest, InsertChain) {
BufWriter writer(testBuffer->writableTail(), 1000); BufWriter writer(testBuffer->writableTail(), 1000);
auto inputBuffer = auto inputBuffer =
folly::IOBuf::copyBuffer("Cause I lost you and now what am i to do?"); folly::IOBuf::copyBuffer("Cause I lost you and now what am i to do?");
inputBuffer->prependChain( inputBuffer->appendToChain(
folly::IOBuf::copyBuffer(" Can't believe that we are through.")); folly::IOBuf::copyBuffer(" Can't believe that we are through."));
inputBuffer->prependChain( inputBuffer->appendToChain(
folly::IOBuf::copyBuffer(" While the memory of you linger like a song.")); folly::IOBuf::copyBuffer(" While the memory of you linger like a song."));
auto len = inputBuffer->computeChainDataLength(); auto len = inputBuffer->computeChainDataLength();
writer.insert(inputBuffer.get()); writer.insert(inputBuffer.get());
@@ -598,9 +598,9 @@ TEST(BufWriterTest, InsertChainByteChainedRange) {
BufWriter writer(testBuffer->writableTail(), 1000); BufWriter writer(testBuffer->writableTail(), 1000);
auto inputBuffer = auto inputBuffer =
folly::IOBuf::copyBuffer("Cause I lost you and now what am i to do?"); folly::IOBuf::copyBuffer("Cause I lost you and now what am i to do?");
inputBuffer->prependChain( inputBuffer->appendToChain(
folly::IOBuf::copyBuffer(" Can't believe that we are through.")); folly::IOBuf::copyBuffer(" Can't believe that we are through."));
inputBuffer->prependChain( inputBuffer->appendToChain(
folly::IOBuf::copyBuffer(" While the memory of you linger like a song.")); folly::IOBuf::copyBuffer(" While the memory of you linger like a song."));
auto len = inputBuffer->computeChainDataLength(); auto len = inputBuffer->computeChainDataLength();
ChainedByteRangeHead cbrh(inputBuffer); ChainedByteRangeHead cbrh(inputBuffer);

View File

@@ -406,7 +406,7 @@ RegularQuicPacketBuilder::Packet createCryptoPacket(
BufPtr packetToBuf(const RegularQuicPacketBuilder::Packet& packet) { BufPtr packetToBuf(const RegularQuicPacketBuilder::Packet& packet) {
auto packetBuf = packet.header.clone(); auto packetBuf = packet.header.clone();
if (!packet.body.empty()) { if (!packet.body.empty()) {
packetBuf->prependChain(packet.body.clone()); packetBuf->appendToChain(packet.body.clone());
} }
return packetBuf; return packetBuf;
} }
@@ -436,7 +436,7 @@ BufPtr packetToBufCleartext(
packet.header.coalesce(); packet.header.coalesce();
auto tagLen = cleartextCipher.getCipherOverhead(); auto tagLen = cleartextCipher.getCipherOverhead();
if (body->tailroom() < tagLen) { if (body->tailroom() < tagLen) {
body->prependChain(folly::IOBuf::create(tagLen)); body->appendToChain(folly::IOBuf::create(tagLen));
} }
body->coalesce(); body->coalesce();
auto encryptedBody = cleartextCipher.inplaceEncrypt( auto encryptedBody = cleartextCipher.inplaceEncrypt(
@@ -449,7 +449,7 @@ BufPtr packetToBufCleartext(
encryptedBody->data(), encryptedBody->data(),
encryptedBody->length(), encryptedBody->length(),
headerCipher); headerCipher);
packetBuf->prependChain(std::move(encryptedBody)); packetBuf->appendToChain(std::move(encryptedBody));
return packetBuf; return packetBuf;
} }

View File

@@ -216,13 +216,13 @@ class ClientHandshakeTest : public Test, public boost::static_visitor<> {
BufPtr getHandshakeWriteBytes() { BufPtr getHandshakeWriteBytes() {
auto buf = folly::IOBuf::create(0); auto buf = folly::IOBuf::create(0);
if (!cryptoState->initialStream.writeBuffer.empty()) { if (!cryptoState->initialStream.writeBuffer.empty()) {
buf->prependChain(cryptoState->initialStream.writeBuffer.move()); buf->appendToChain(cryptoState->initialStream.writeBuffer.move());
} }
if (!cryptoState->handshakeStream.writeBuffer.empty()) { if (!cryptoState->handshakeStream.writeBuffer.empty()) {
buf->prependChain(cryptoState->handshakeStream.writeBuffer.move()); buf->appendToChain(cryptoState->handshakeStream.writeBuffer.move());
} }
if (!cryptoState->oneRttStream.writeBuffer.empty()) { if (!cryptoState->oneRttStream.writeBuffer.empty()) {
buf->prependChain(cryptoState->oneRttStream.writeBuffer.move()); buf->appendToChain(cryptoState->oneRttStream.writeBuffer.move());
} }
return buf; return buf;
} }

View File

@@ -353,7 +353,7 @@ TEST_P(QuicClientTransportIntegrationTest, NetworkTest) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
} }
@@ -374,7 +374,7 @@ TEST_P(QuicClientTransportIntegrationTest, FlowControlLimitedTest) {
memset(data->writableData(), 'a', data->length()); memset(data->writableData(), 'a', data->length());
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
} }
@@ -450,7 +450,7 @@ TEST_P(QuicClientTransportIntegrationTest, NetworkTestConnected) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
} }
@@ -472,7 +472,7 @@ TEST_P(QuicClientTransportIntegrationTest, SetTransportSettingsAfterStart) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
settings.connectUDP = false; settings.connectUDP = false;
client->setTransportSettings(settings); client->setTransportSettings(settings);
@@ -524,7 +524,7 @@ TEST_P(QuicClientTransportIntegrationTest, TestZeroRttSuccess) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
EXPECT_CALL(clientConnSetupCallback, onReplaySafe()); EXPECT_CALL(clientConnSetupCallback, onReplaySafe());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
EXPECT_FALSE(client->getConn().zeroRttWriteCipher); EXPECT_FALSE(client->getConn().zeroRttWriteCipher);
@@ -602,7 +602,7 @@ TEST_P(QuicClientTransportIntegrationTest, ZeroRttRetryPacketTest) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
EXPECT_CALL(clientConnSetupCallback, onReplaySafe()).WillOnce(Invoke([&] { EXPECT_CALL(clientConnSetupCallback, onReplaySafe()).WillOnce(Invoke([&] {
EXPECT_TRUE(!client->getConn().retryToken.empty()); EXPECT_TRUE(!client->getConn().retryToken.empty());
@@ -635,7 +635,7 @@ TEST_P(QuicClientTransportIntegrationTest, NewTokenReceived) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
EXPECT_FALSE(newToken->empty()); EXPECT_FALSE(newToken->empty());
@@ -657,7 +657,7 @@ TEST_P(QuicClientTransportIntegrationTest, UseNewTokenThenReceiveRetryToken) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
EXPECT_FALSE(newToken->empty()); EXPECT_FALSE(newToken->empty());
@@ -744,7 +744,7 @@ TEST_P(QuicClientTransportIntegrationTest, TestZeroRttRejection) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
// Rejection means that we will unset the zero rtt cipher. // Rejection means that we will unset the zero rtt cipher.
EXPECT_EQ(client->getConn().zeroRttWriteCipher, nullptr); EXPECT_EQ(client->getConn().zeroRttWriteCipher, nullptr);
@@ -791,7 +791,7 @@ TEST_P(QuicClientTransportIntegrationTest, TestZeroRttNotAttempted) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
EXPECT_TRUE(client->serverInitialParamsSet()); EXPECT_TRUE(client->serverInitialParamsSet());
EXPECT_EQ( EXPECT_EQ(
@@ -834,7 +834,7 @@ TEST_P(QuicClientTransportIntegrationTest, TestZeroRttInvalidAppParams) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
EXPECT_TRUE(client->serverInitialParamsSet()); EXPECT_TRUE(client->serverInitialParamsSet());
EXPECT_EQ( EXPECT_EQ(
@@ -868,7 +868,7 @@ TEST_P(QuicClientTransportIntegrationTest, ChangeEventBase) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
EXPECT_TRUE(client->isDetachable()); EXPECT_TRUE(client->isDetachable());
client->detachEventBase(); client->detachEventBase();
@@ -908,7 +908,7 @@ TEST_P(QuicClientTransportIntegrationTest, ResetClient) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
// change the address to a new server which does not have the connection. // change the address to a new server which does not have the connection.
@@ -953,7 +953,7 @@ TEST_P(QuicClientTransportIntegrationTest, TestStatelessResetToken) {
auto streamId = client->createBidirectionalStream().value(); auto streamId = client->createBidirectionalStream().value();
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo ")); auto expected = std::shared_ptr<IOBuf>(IOBuf::copyBuffer("echo "));
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb); sendRequestAndResponseAndWait(*expected, data->clone(), streamId, &readCb);
// change the address to a new server which does not have the connection. // change the address to a new server which does not have the connection.
@@ -2554,7 +2554,7 @@ TEST_F(QuicClientTransportAfterStartTest, ReadStreamMultiplePackets) {
auto data = IOBuf::copyBuffer("hello"); auto data = IOBuf::copyBuffer("hello");
auto expected = data->clone(); auto expected = data->clone();
expected->prependChain(data->clone()); expected->appendToChain(data->clone());
EXPECT_CALL(readCb, readAvailable(streamId)).WillOnce(Invoke([&](auto) { EXPECT_CALL(readCb, readAvailable(streamId)).WillOnce(Invoke([&](auto) {
auto readData = client->read(streamId, 1000); auto readData = client->read(streamId, 1000);
auto copy = readData->first->clone(); auto copy = readData->first->clone();
@@ -5770,7 +5770,7 @@ TEST_F(QuicProcessDataTest, ProcessDataWithGarbageAtEnd) {
0 /* largestAcked */); 0 /* largestAcked */);
auto packetData = packetToBufCleartext( auto packetData = packetToBufCleartext(
packet, aead, getInitialHeaderCipher(), nextPacketNum); packet, aead, getInitialHeaderCipher(), nextPacketNum);
packetData->prependChain(IOBuf::copyBuffer("garbage in")); packetData->appendToChain(IOBuf::copyBuffer("garbage in"));
deliverData(serverAddr, packetData->coalesce()); deliverData(serverAddr, packetData->coalesce());
verifyTransportParameters( verifyTransportParameters(
kDefaultConnectionFlowControlWindow, kDefaultConnectionFlowControlWindow,
@@ -5894,7 +5894,7 @@ TEST_F(QuicProcessDataTest, ProcessPendingData) {
mockClientHandshake->readBuffers[EncryptionLevel::Handshake].empty()); mockClientHandshake->readBuffers[EncryptionLevel::Handshake].empty());
auto handshakeReadData = auto handshakeReadData =
mockClientHandshake->readBuffers[EncryptionLevel::Handshake].move(); mockClientHandshake->readBuffers[EncryptionLevel::Handshake].move();
cryptoData->prependChain(cryptoData->clone()); cryptoData->appendToChain(cryptoData->clone());
EXPECT_TRUE(folly::IOBufEqualTo()(*cryptoData, *handshakeReadData)); EXPECT_TRUE(folly::IOBufEqualTo()(*cryptoData, *handshakeReadData));
} }

View File

@@ -642,7 +642,7 @@ TEST_F(QuicLossFunctionsTest, TestMarkPacketLossMerge) {
EXPECT_EQ(stream1->streamLossCount, 2); EXPECT_EQ(stream1->streamLossCount, 2);
auto combined = buf1->clone(); auto combined = buf1->clone();
combined->prependChain(buf2->clone()); combined->appendToChain(buf2->clone());
auto& buffer = stream1->lossBuffer.front(); auto& buffer = stream1->lossBuffer.front();
EXPECT_EQ(buffer.offset, 0); EXPECT_EQ(buffer.offset, 0);
EXPECT_TRUE(areEqual(combined.get(), &buffer.data)); EXPECT_TRUE(areEqual(combined.get(), &buffer.data));

View File

@@ -213,7 +213,7 @@ class EchoHandler : public quic::QuicSocket::ConnectionSetupCallback,
return; return;
} }
auto echoedData = BufHelpers::copyBuffer("echo "); auto echoedData = BufHelpers::copyBuffer("echo ");
echoedData->prependChain(data.first.move()); echoedData->appendToChain(data.first.move());
auto res = sock->writeChain(id, std::move(echoedData), true, nullptr); auto res = sock->writeChain(id, std::move(echoedData), true, nullptr);
if (res.hasError()) { if (res.hasError()) {
LOG(ERROR) << "write error=" << toString(res.error()); LOG(ERROR) << "write error=" << toString(res.error());
@@ -227,7 +227,7 @@ class EchoHandler : public quic::QuicSocket::ConnectionSetupCallback,
CHECK_GT(datagrams.size(), 0); CHECK_GT(datagrams.size(), 0);
for (const auto& datagram : datagrams) { for (const auto& datagram : datagrams) {
auto echoedData = BufHelpers::copyBuffer("echo "); auto echoedData = BufHelpers::copyBuffer("echo ");
echoedData->prependChain(datagram.bufQueue().front()->cloneCoalesced()); echoedData->appendToChain(datagram.bufQueue().front()->cloneCoalesced());
auto res = sock->writeDatagram(std::move(echoedData)); auto res = sock->writeDatagram(std::move(echoedData));
if (res.hasError()) { if (res.hasError()) {
LOG(ERROR) << "writeDatagram error=" << toString(res.error()); LOG(ERROR) << "writeDatagram error=" << toString(res.error());

View File

@@ -148,7 +148,7 @@ void TakeoverPacketHandler::forwardPacketToAnotherServer(
bufWriter.writeBE<uint64_t>(tick); bufWriter.writeBE<uint64_t>(tick);
writeBuffer->append(bufSize); writeBuffer->append(bufSize);
writeBuffer->prependChain(std::move(buf)); writeBuffer->appendToChain(std::move(buf));
forwardPacket(std::move(writeBuffer)); forwardPacket(std::move(writeBuffer));
} }

View File

@@ -28,7 +28,7 @@ StatelessResetToken StatelessResetGenerator::generateToken(
const ConnectionId& connId) const { const ConnectionId& connId) const {
StatelessResetToken token; StatelessResetToken token;
auto info = toData(connId); auto info = toData(connId);
info.prependChain( info.appendToChain(
BufHelpers::wrapBuffer(addressStr_.data(), addressStr_.size())); BufHelpers::wrapBuffer(addressStr_.data(), addressStr_.size()));
auto out = hkdf_.expand(folly::range(extractedSecret_), info, token.size()); auto out = hkdf_.expand(folly::range(extractedSecret_), info, token.size());
out->coalesce(); out->coalesce();

View File

@@ -287,18 +287,18 @@ class ServerHandshakeTest : public Test {
switch (clientState.readRecordLayer()->getEncryptionLevel()) { switch (clientState.readRecordLayer()->getEncryptionLevel()) {
case fizz::EncryptionLevel::Plaintext: case fizz::EncryptionLevel::Plaintext:
if (!cryptoState->initialStream.writeBuffer.empty()) { if (!cryptoState->initialStream.writeBuffer.empty()) {
buf->prependChain(cryptoState->initialStream.writeBuffer.move()); buf->appendToChain(cryptoState->initialStream.writeBuffer.move());
} }
break; break;
case fizz::EncryptionLevel::Handshake: case fizz::EncryptionLevel::Handshake:
case fizz::EncryptionLevel::EarlyData: case fizz::EncryptionLevel::EarlyData:
if (!cryptoState->handshakeStream.writeBuffer.empty()) { if (!cryptoState->handshakeStream.writeBuffer.empty()) {
buf->prependChain(cryptoState->handshakeStream.writeBuffer.move()); buf->appendToChain(cryptoState->handshakeStream.writeBuffer.move());
} }
break; break;
case fizz::EncryptionLevel::AppTraffic: case fizz::EncryptionLevel::AppTraffic:
if (!cryptoState->oneRttStream.writeBuffer.empty()) { if (!cryptoState->oneRttStream.writeBuffer.empty()) {
buf->prependChain(cryptoState->oneRttStream.writeBuffer.move()); buf->appendToChain(cryptoState->oneRttStream.writeBuffer.move());
} }
} }
return buf; return buf;

View File

@@ -4668,7 +4668,7 @@ TEST_F(QuicUnencryptedServerTransportTest, TestGarbageData) {
0 /* largestAcked */); 0 /* largestAcked */);
auto packetData = auto packetData =
packetToBufCleartext(packet, *aead, *headerCipher, nextPacket); packetToBufCleartext(packet, *aead, *headerCipher, nextPacket);
packetData->prependChain(IOBuf::copyBuffer("garbage in")); packetData->appendToChain(IOBuf::copyBuffer("garbage in"));
deliverData(std::move(packetData)); deliverData(std::move(packetData));
EXPECT_NE(server->getConn().readCodec, nullptr); EXPECT_NE(server->getConn().readCodec, nullptr);
EXPECT_NE(server->getConn().initialWriteCipher, nullptr); EXPECT_NE(server->getConn().initialWriteCipher, nullptr);

View File

@@ -590,7 +590,7 @@ class QuicServerTransportTestBase : public virtual testing::Test {
if (frame.type() != QuicFrame::Type::ReadCryptoFrame) { if (frame.type() != QuicFrame::Type::ReadCryptoFrame) {
continue; continue;
} }
cryptoBuf->prependChain(frame.asReadCryptoFrame()->data->clone()); cryptoBuf->appendToChain(frame.asReadCryptoFrame()->data->clone());
} }
} }
return cryptoBuf; return cryptoBuf;

View File

@@ -15,7 +15,7 @@
namespace { namespace {
void prependToBuf(quic::BufPtr& buf, quic::BufPtr toAppend) { void prependToBuf(quic::BufPtr& buf, quic::BufPtr toAppend) {
if (buf) { if (buf) {
buf->prependChain(std::move(toAppend)); buf->appendToChain(std::move(toAppend));
} else { } else {
buf = std::move(toAppend); buf = std::move(toAppend);
} }

View File

@@ -138,7 +138,7 @@ TEST_P(QuicStreamFunctionsTestBase, TestWriteStream) {
ASSERT_FALSE(writeDataToQuicStream(*stream, buf2->clone(), false).hasError()); ASSERT_FALSE(writeDataToQuicStream(*stream, buf2->clone(), false).hasError());
IOBufEqualTo eq; IOBufEqualTo eq;
buf1->prependChain(std::move(buf2)); buf1->appendToChain(std::move(buf2));
EXPECT_TRUE(eq(stream->writeBuffer.move(), buf1)); EXPECT_TRUE(eq(stream->writeBuffer.move(), buf1));
} }
@@ -148,10 +148,10 @@ TEST_P(QuicStreamFunctionsTestBase, TestReadDataWrittenInOrder) {
auto streamLastMaxOffset = stream->maxOffsetObserved; auto streamLastMaxOffset = stream->maxOffsetObserved;
auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset; auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset;
auto buf1 = IOBuf::copyBuffer("I just met you "); auto buf1 = IOBuf::copyBuffer("I just met you ");
buf1->prependChain(IOBuf::copyBuffer("and this is crazy. ")); buf1->appendToChain(IOBuf::copyBuffer("and this is crazy. "));
auto buf2 = IOBuf::copyBuffer("Here's my number "); auto buf2 = IOBuf::copyBuffer("Here's my number ");
buf2->prependChain(IOBuf::copyBuffer("so call me maybe")); buf2->appendToChain(IOBuf::copyBuffer("so call me maybe"));
ASSERT_FALSE(appendDataToReadBuffer(*stream, StreamBuffer(buf1->clone(), 0)) ASSERT_FALSE(appendDataToReadBuffer(*stream, StreamBuffer(buf1->clone(), 0))
.hasError()); .hasError());
@@ -187,10 +187,10 @@ TEST_P(QuicStreamFunctionsTestBase, TestPeekAndConsumeContiguousData) {
auto streamLastMaxOffset = stream->maxOffsetObserved; auto streamLastMaxOffset = stream->maxOffsetObserved;
auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset; auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset;
auto buf1 = IOBuf::copyBuffer("I just met you "); auto buf1 = IOBuf::copyBuffer("I just met you ");
buf1->prependChain(IOBuf::copyBuffer("and this is crazy. ")); buf1->appendToChain(IOBuf::copyBuffer("and this is crazy. "));
auto buf2 = IOBuf::copyBuffer("Here's my number "); auto buf2 = IOBuf::copyBuffer("Here's my number ");
buf2->prependChain(IOBuf::copyBuffer("so call me maybe")); buf2->appendToChain(IOBuf::copyBuffer("so call me maybe"));
ASSERT_FALSE(appendDataToReadBuffer(*stream, StreamBuffer(buf1->clone(), 0)) ASSERT_FALSE(appendDataToReadBuffer(*stream, StreamBuffer(buf1->clone(), 0))
.hasError()); .hasError());
@@ -238,10 +238,10 @@ TEST_P(QuicStreamFunctionsTestBase, TestPeekAndConsumeNonContiguousData) {
auto streamLastMaxOffset = stream->maxOffsetObserved; auto streamLastMaxOffset = stream->maxOffsetObserved;
auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset; auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset;
auto buf1 = IOBuf::copyBuffer("I just met you "); auto buf1 = IOBuf::copyBuffer("I just met you ");
buf1->prependChain(IOBuf::copyBuffer("and this is crazy. ")); buf1->appendToChain(IOBuf::copyBuffer("and this is crazy. "));
auto buf2 = IOBuf::copyBuffer("'s my number "); auto buf2 = IOBuf::copyBuffer("'s my number ");
buf2->prependChain(IOBuf::copyBuffer("so call me maybe")); buf2->appendToChain(IOBuf::copyBuffer("so call me maybe"));
ASSERT_FALSE(appendDataToReadBuffer(*stream, StreamBuffer(buf1->clone(), 0)) ASSERT_FALSE(appendDataToReadBuffer(*stream, StreamBuffer(buf1->clone(), 0))
.hasError()); .hasError());
@@ -373,10 +373,10 @@ TEST_P(QuicStreamFunctionsTestBase, TestPeekAndConsumeEmptyDataEof) {
TEST_P(QuicStreamFunctionsTestBase, TestReadDataFromMultipleBufs) { TEST_P(QuicStreamFunctionsTestBase, TestReadDataFromMultipleBufs) {
auto stream = conn.streamManager->createNextBidirectionalStream().value(); auto stream = conn.streamManager->createNextBidirectionalStream().value();
auto buf1 = IOBuf::copyBuffer("I just met you "); auto buf1 = IOBuf::copyBuffer("I just met you ");
buf1->prependChain(IOBuf::copyBuffer("and this is crazy. ")); buf1->appendToChain(IOBuf::copyBuffer("and this is crazy. "));
auto buf2 = IOBuf::copyBuffer("Here's my number "); auto buf2 = IOBuf::copyBuffer("Here's my number ");
buf2->prependChain(IOBuf::copyBuffer("so call me maybe")); buf2->appendToChain(IOBuf::copyBuffer("so call me maybe"));
auto streamLastMaxOffset = stream->maxOffsetObserved; auto streamLastMaxOffset = stream->maxOffsetObserved;
auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset; auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset;
@@ -407,11 +407,11 @@ TEST_P(QuicStreamFunctionsTestBase, TestReadDataFromMultipleBufs) {
TEST_P(QuicStreamFunctionsTestBase, TestReadDataFromMultipleBufsShared) { TEST_P(QuicStreamFunctionsTestBase, TestReadDataFromMultipleBufsShared) {
auto stream = conn.streamManager->createNextBidirectionalStream().value(); auto stream = conn.streamManager->createNextBidirectionalStream().value();
auto buf1 = IOBuf::copyBuffer("I just met you "); auto buf1 = IOBuf::copyBuffer("I just met you ");
buf1->prependChain(IOBuf::copyBuffer("and this is crazy. ")); buf1->appendToChain(IOBuf::copyBuffer("and this is crazy. "));
buf1->coalesceWithHeadroomTailroom(0, 8000); buf1->coalesceWithHeadroomTailroom(0, 8000);
auto buf2 = IOBuf::copyBuffer("Here's my number "); auto buf2 = IOBuf::copyBuffer("Here's my number ");
buf2->prependChain(IOBuf::copyBuffer("so call me maybe")); buf2->appendToChain(IOBuf::copyBuffer("so call me maybe"));
// Manually share the buffers like multiple stream frames in a packet. // Manually share the buffers like multiple stream frames in a packet.
auto buf3 = buf1->clone(); auto buf3 = buf1->clone();
@@ -454,10 +454,10 @@ TEST_P(QuicStreamFunctionsTestBase, TestReadDataFromMultipleBufsShared) {
TEST_P(QuicStreamFunctionsTestBase, TestReadDataOutOfOrder) { TEST_P(QuicStreamFunctionsTestBase, TestReadDataOutOfOrder) {
auto stream = conn.streamManager->createNextBidirectionalStream().value(); auto stream = conn.streamManager->createNextBidirectionalStream().value();
auto buf1 = IOBuf::copyBuffer(" you "); auto buf1 = IOBuf::copyBuffer(" you ");
buf1->prependChain(IOBuf::copyBuffer("and this is crazy. ")); buf1->appendToChain(IOBuf::copyBuffer("and this is crazy. "));
auto buf2 = IOBuf::copyBuffer("Here's my number "); auto buf2 = IOBuf::copyBuffer("Here's my number ");
buf2->prependChain(IOBuf::copyBuffer("so call me maybe")); buf2->appendToChain(IOBuf::copyBuffer("so call me maybe"));
auto streamLastMaxOffset = stream->maxOffsetObserved; auto streamLastMaxOffset = stream->maxOffsetObserved;
auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset; auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset;
@@ -496,13 +496,13 @@ TEST_P(QuicStreamFunctionsTestBase, TestReadDataOutOfOrder) {
TEST_P(QuicStreamFunctionsTestBase, TestReadOverlappingData) { TEST_P(QuicStreamFunctionsTestBase, TestReadOverlappingData) {
auto stream = conn.streamManager->createNextBidirectionalStream().value(); auto stream = conn.streamManager->createNextBidirectionalStream().value();
auto buf1 = IOBuf::copyBuffer("I just met you "); auto buf1 = IOBuf::copyBuffer("I just met you ");
buf1->prependChain(IOBuf::copyBuffer("and this")); buf1->appendToChain(IOBuf::copyBuffer("and this"));
auto buf2 = IOBuf::copyBuffer("met you and this is crazy. "); auto buf2 = IOBuf::copyBuffer("met you and this is crazy. ");
buf2->prependChain(IOBuf::copyBuffer("Here's my number")); buf2->appendToChain(IOBuf::copyBuffer("Here's my number"));
auto buf3 = IOBuf::copyBuffer("Here's my number, "); auto buf3 = IOBuf::copyBuffer("Here's my number, ");
buf3->prependChain(IOBuf::copyBuffer("so call me maybe.")); buf3->appendToChain(IOBuf::copyBuffer("so call me maybe."));
auto streamLastMaxOffset = stream->maxOffsetObserved; auto streamLastMaxOffset = stream->maxOffsetObserved;
auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset; auto connLastMaxOffset = conn.flowControlState.sumMaxObservedOffset;
@@ -737,7 +737,7 @@ TEST_P(QuicStreamFunctionsTestBase, TestInsertVariations) {
auto buf6 = IOBuf::copyBuffer(" me maybe"); auto buf6 = IOBuf::copyBuffer(" me maybe");
auto buf7 = IOBuf::copyBuffer("this is crazy. Here's my number so call"); auto buf7 = IOBuf::copyBuffer("this is crazy. Here's my number so call");
auto buf8 = IOBuf::copyBuffer("I just met you"); auto buf8 = IOBuf::copyBuffer("I just met you");
buf8->prependChain(IOBuf::copyBuffer(" and this")); buf8->appendToChain(IOBuf::copyBuffer(" and this"));
auto buf9 = IOBuf::copyBuffer("Here's my number so call me maybe"); auto buf9 = IOBuf::copyBuffer("Here's my number so call me maybe");
auto buf10 = IOBuf::copyBuffer("I "); auto buf10 = IOBuf::copyBuffer("I ");