Ensures that all simulated TCP packets are at least 4 bytes.

Bug: webrtc:10839
Change-Id: I4f2f5cf75b9fbcedb39e3fa05d11c68a7de6f5b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170051
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30780}
This commit is contained in:
Sebastian Jansson 2020-03-09 19:25:18 +01:00 committed by Commit Bot
parent d35a686517
commit e6cedbbff6

View File

@ -146,9 +146,11 @@ void TcpMessageRouteImpl::SendMessage(size_t size,
}
size_t data_left = size;
size_t kMaxPacketSize = 1200;
size_t kMinPacketSize = 4;
Message message{std::move(handler)};
while (data_left > 0) {
size_t packet_size = std::min(data_left, kMaxPacketSize);
size_t packet_size =
std::max(kMinPacketSize, std::min(data_left, kMaxPacketSize));
int fragment_id = next_fragment_id_++;
pending_.push_back(MessageFragment{fragment_id, packet_size});
message.pending_fragment_ids.insert(fragment_id);