Skip to content

Commit

Permalink
Move large buffers to the heap
Browse files Browse the repository at this point in the history
  • Loading branch information
guhetier committed Feb 12, 2025
1 parent de9a1e1 commit 356263a
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions src/test/lib/DataTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4764,14 +4764,14 @@ QuicTestStreamAppProvidedBuffersZeroWindow(
// Create send and receive buffers
const uint32_t BufferSize = 0x5000;
const uint32_t NumBuffers = 0x10;
uint8_t SendDataBuffer[BufferSize] = {};
UniquePtr<uint8_t[]> SendDataBuffer{new uint8_t[BufferSize]};
for (auto i = 0u; i < BufferSize; ++i) {
SendDataBuffer[i] = static_cast<uint8_t>(i);
}
uint8_t ReceiveDataBuffer[BufferSize] = {};
UniquePtr<uint8_t[]> ReceiveDataBuffer{new uint8_t[BufferSize]};
QUIC_BUFFER QuicBuffers[NumBuffers]{};
for (auto i = 0u; i < NumBuffers; ++i) {
QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / NumBuffers;
QuicBuffers[i].Buffer = ReceiveDataBuffer.get() + i * BufferSize / NumBuffers;
QuicBuffers[i].Length = BufferSize / NumBuffers;
}

Expand Down Expand Up @@ -4810,12 +4810,12 @@ QuicTestStreamAppProvidedBuffersZeroWindow(
TEST_QUIC_SUCCEEDED(ClientStream.Start(QUIC_STREAM_START_FLAG_IMMEDIATE));

// Send data
QUIC_BUFFER Buffer{BufferSize, SendDataBuffer};
QUIC_BUFFER Buffer{BufferSize, SendDataBuffer.get()};
TEST_QUIC_SUCCEEDED(ClientStream.Send(&Buffer, 1, QUIC_SEND_FLAG_FIN));

TEST_TRUE(ReceiveContext.SenderStreamClosed.WaitTimeout(TestWaitTimeout));
TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize);
TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize));
TEST_EQUAL(0, memcmp(SendDataBuffer.get(), ReceiveDataBuffer.get(), BufferSize));
}

// Server side sending data
Expand Down Expand Up @@ -4843,15 +4843,15 @@ QuicTestStreamAppProvidedBuffersZeroWindow(
// Create send and receive buffers
const uint32_t BufferSize = 0x5000;
const uint32_t NumBuffers = 0x10;
uint8_t SendDataBuffer[BufferSize] = {};
UniquePtr<uint8_t[]> SendDataBuffer{new uint8_t[BufferSize]};
for (auto i = 0u; i < BufferSize; ++i) {
SendDataBuffer[i] = static_cast<uint8_t>(i);
}

uint8_t ReceiveDataBuffer[BufferSize]{};
UniquePtr<uint8_t[]> ReceiveDataBuffer{new uint8_t[BufferSize]};
QUIC_BUFFER QuicBuffers[NumBuffers]{};
for (auto i = 0u; i < NumBuffers; ++i) {
QuicBuffers[i].Buffer = ReceiveDataBuffer + i * BufferSize / NumBuffers;
QuicBuffers[i].Buffer = ReceiveDataBuffer.get() + i * BufferSize / NumBuffers;
QuicBuffers[i].Length = BufferSize / NumBuffers;
}

Expand Down Expand Up @@ -4881,7 +4881,7 @@ QuicTestStreamAppProvidedBuffersZeroWindow(
TEST_NOT_EQUAL(SenderStream, nullptr);

// Send data
QUIC_BUFFER Buffer{BufferSize, SendDataBuffer};
QUIC_BUFFER Buffer{BufferSize, SendDataBuffer.get()};
TEST_QUIC_SUCCEEDED(SenderStream->Send(&Buffer, 1, QUIC_SEND_FLAG_FIN));

// Wait until enough data is received to fill the window completely
Expand All @@ -4892,7 +4892,7 @@ QuicTestStreamAppProvidedBuffersZeroWindow(

TEST_TRUE(ReceiveContext.SenderStreamClosed.WaitTimeout(TestWaitTimeout));
TEST_EQUAL(ReceiveContext.ReceivedBytes, BufferSize);
TEST_EQUAL(0, memcmp(SendDataBuffer, ReceiveDataBuffer, BufferSize));
TEST_EQUAL(0, memcmp(SendDataBuffer.get(), ReceiveDataBuffer.get(), BufferSize));
}
}
#endif // QUIC_API_ENABLE_PREVIEW_FEATURES

0 comments on commit 356263a

Please sign in to comment.