| Index: net/quic/quic_packet_generator.cc
|
| diff --git a/net/quic/quic_packet_generator.cc b/net/quic/quic_packet_generator.cc
|
| index 3d2a6302913fc1ae73c3236bdd6c4d8cdf12f835..e6aeac76f07ba4b11396928edd5cf25f914c08fb 100644
|
| --- a/net/quic/quic_packet_generator.cc
|
| +++ b/net/quic/quic_packet_generator.cc
|
| @@ -13,8 +13,10 @@ using base::StringPiece;
|
| namespace net {
|
|
|
| QuicPacketGenerator::QuicPacketGenerator(DelegateInterface* delegate,
|
| + DebugDelegateInterface* debug_delegate,
|
| QuicPacketCreator* creator)
|
| : delegate_(delegate),
|
| + debug_delegate_(debug_delegate),
|
| packet_creator_(creator),
|
| should_flush_(true),
|
| should_send_ack_(false),
|
| @@ -77,7 +79,7 @@ QuicConsumedData QuicPacketGenerator::ConsumeData(QuicStreamId id,
|
| QuicFrame frame;
|
| size_t bytes_consumed = packet_creator_->CreateStreamFrame(
|
| id, data, offset + total_bytes_consumed, fin, &frame);
|
| - bool success = packet_creator_->AddSavedFrame(frame);
|
| + bool success = AddFrame(frame);
|
| DCHECK(success);
|
|
|
| total_bytes_consumed += bytes_consumed;
|
| @@ -158,7 +160,7 @@ bool QuicPacketGenerator::HasPendingFrames() const {
|
| bool QuicPacketGenerator::AddNextPendingFrame() {
|
| if (should_send_ack_) {
|
| pending_ack_frame_.reset(delegate_->CreateAckFrame());
|
| - if (!packet_creator_->AddSavedFrame(QuicFrame(pending_ack_frame_.get()))) {
|
| + if (!AddFrame(QuicFrame(pending_ack_frame_.get()))) {
|
| // packet was full
|
| return false;
|
| }
|
| @@ -168,8 +170,7 @@ bool QuicPacketGenerator::AddNextPendingFrame() {
|
|
|
| if (should_send_feedback_) {
|
| pending_feedback_frame_.reset(delegate_->CreateFeedbackFrame());
|
| - if (!packet_creator_->AddSavedFrame(QuicFrame(
|
| - pending_feedback_frame_.get()))) {
|
| + if (!AddFrame(QuicFrame(pending_feedback_frame_.get()))) {
|
| // packet was full
|
| return false;
|
| }
|
| @@ -178,7 +179,7 @@ bool QuicPacketGenerator::AddNextPendingFrame() {
|
| }
|
|
|
| DCHECK(!queued_control_frames_.empty());
|
| - if (!packet_creator_->AddSavedFrame(queued_control_frames_.back())) {
|
| + if (!AddFrame(queued_control_frames_.back())) {
|
| // packet was full
|
| return false;
|
| }
|
| @@ -186,6 +187,14 @@ bool QuicPacketGenerator::AddNextPendingFrame() {
|
| return true;
|
| }
|
|
|
| +bool QuicPacketGenerator::AddFrame(const QuicFrame& frame) {
|
| + bool success = packet_creator_->AddSavedFrame(frame);
|
| + if (success && debug_delegate_) {
|
| + debug_delegate_->OnFrameAddedToPacket(frame);
|
| + }
|
| + return success;
|
| +}
|
| +
|
| void QuicPacketGenerator::SerializeAndSendPacket() {
|
| SerializedPacket serialized_packet = packet_creator_->SerializePacket();
|
| DCHECK(serialized_packet.packet);
|
|
|