Adds data in flight information on send packet updates.

This prepares for making the BBR implementation more identical to the
implementation in Quic, this is to ensure that results are comparable.

Bug: webrtc:8415
Change-Id: I7b7e4769772d67cc5112969fefd4e56c6c72432e
Reviewed-on: https://webrtc-review.googlesource.com/76600
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23419}
This commit is contained in:
Sebastian Jansson
2018-05-28 16:38:46 +02:00
committed by Commit Bot
parent 317c1b8fcc
commit 535bde3752
3 changed files with 7 additions and 0 deletions

View File

@ -89,6 +89,8 @@ struct SentPacket {
// sequence number that is unique over the whole call and increasing by 1 for
// each packet.
int64_t sequence_number;
// Data in flight when the packet was sent, including the packet.
DataSize data_in_flight = DataSize::Zero();
};
// Transport level feedback

View File

@ -95,6 +95,9 @@ void NetworkControllerTester::RunSimulation(TimeDelta duration,
SentPacket sent_packet;
sent_packet = next_packet(state_, current_time_, packet_interval);
sent_packet.sequence_number = packet_sequence_number_++;
sent_packet.data_in_flight = sent_packet.size;
for (PacketResult& packet : outstanding_packets_)
sent_packet.data_in_flight += packet.sent_packet->size;
Update(&state_, controller_->OnSentPacket(sent_packet));
accumulated_buffer_ += sent_packet.size;

View File

@ -594,6 +594,8 @@ void SendSideCongestionController::OnSentPacket(
msg.size = DataSize::bytes(packet->payload_size);
msg.send_time = Timestamp::ms(packet->send_time_ms);
msg.sequence_number = packet->long_sequence_number;
msg.data_in_flight =
DataSize::bytes(transport_feedback_adapter_.GetOutstandingBytes());
task_queue_->PostTask([this, msg]() {
RTC_DCHECK_RUN_ON(task_queue_);
if (controller_)