| Index: net/quic/test_tools/quic_test_packet_maker.cc
|
| diff --git a/net/quic/test_tools/quic_test_packet_maker.cc b/net/quic/test_tools/quic_test_packet_maker.cc
|
| index 345b7b5f3e9e41a79ab971a805c38f9baf194be2..879bbc902080323642fb5bb46ea49ad7f2edddc8 100644
|
| --- a/net/quic/test_tools/quic_test_packet_maker.cc
|
| +++ b/net/quic/test_tools/quic_test_packet_maker.cc
|
| @@ -4,11 +4,15 @@
|
|
|
| #include "net/quic/test_tools/quic_test_packet_maker.h"
|
|
|
| +#include <list>
|
| +
|
| #include "net/quic/quic_framer.h"
|
| #include "net/quic/quic_http_utils.h"
|
| #include "net/quic/quic_utils.h"
|
| #include "net/quic/test_tools/quic_test_utils.h"
|
|
|
| +using std::make_pair;
|
| +
|
| namespace net {
|
| namespace test {
|
|
|
| @@ -49,7 +53,8 @@ scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckAndRstPacket(
|
| QuicRstStreamErrorCode error_code,
|
| QuicPacketSequenceNumber largest_received,
|
| QuicPacketSequenceNumber least_unacked,
|
| - bool send_feedback) {
|
| + bool send_feedback,
|
| + QuicTime timestamp) {
|
|
|
| QuicPacketHeader header;
|
| header.public_header.connection_id = connection_id_;
|
| @@ -63,10 +68,16 @@ scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckAndRstPacket(
|
|
|
| QuicAckFrame ack(MakeAckFrame(largest_received));
|
| ack.delta_time_largest_observed = QuicTime::Delta::Zero();
|
| + if (version_ > QUIC_VERSION_22) {
|
| + for (QuicPacketSequenceNumber i = least_unacked; i <= largest_received;
|
| + ++i) {
|
| + ack.received_packet_times.push_back(make_pair(i, timestamp));
|
| + }
|
| + }
|
| QuicFrames frames;
|
| frames.push_back(QuicFrame(&ack));
|
| QuicCongestionFeedbackFrame feedback;
|
| - if (send_feedback) {
|
| + if (send_feedback && version_ <= QUIC_VERSION_22) {
|
| feedback.type = kTCP;
|
| feedback.tcp.receive_window = 256000;
|
|
|
| @@ -80,7 +91,7 @@ scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckAndRstPacket(
|
| QuicRstStreamFrame rst(stream_id, error_code, 0);
|
| frames.push_back(QuicFrame(&rst));
|
|
|
| - QuicFramer framer(SupportedVersions(version_), QuicTime::Zero(), false);
|
| + QuicFramer framer(SupportedVersions(version_), timestamp, false);
|
| scoped_ptr<QuicPacket> packet(
|
| BuildUnsizedDataPacket(&framer, header, frames).packet);
|
| return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(
|
| @@ -109,7 +120,8 @@ scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckPacket(
|
| QuicPacketSequenceNumber sequence_number,
|
| QuicPacketSequenceNumber largest_received,
|
| QuicPacketSequenceNumber least_unacked,
|
| - bool send_feedback) {
|
| + bool send_feedback,
|
| + QuicTime timestamp) {
|
| QuicPacketHeader header;
|
| header.public_header.connection_id = connection_id_;
|
| header.public_header.reset_flag = false;
|
| @@ -122,15 +134,20 @@ scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckPacket(
|
|
|
| QuicAckFrame ack(MakeAckFrame(largest_received));
|
| ack.delta_time_largest_observed = QuicTime::Delta::Zero();
|
| + if (version_ > QUIC_VERSION_22) {
|
| + for (QuicPacketSequenceNumber i = least_unacked; i <= largest_received;
|
| + ++i) {
|
| + ack.received_packet_times.push_back(make_pair(i, timestamp));
|
| + }
|
| + }
|
|
|
| - QuicCongestionFeedbackFrame feedback;
|
| - feedback.type = kTCP;
|
| - feedback.tcp.receive_window = 256000;
|
| -
|
| - QuicFramer framer(SupportedVersions(version_), QuicTime::Zero(), false);
|
| + QuicFramer framer(SupportedVersions(version_), timestamp, false);
|
| QuicFrames frames;
|
| frames.push_back(QuicFrame(&ack));
|
| - if (send_feedback) {
|
| + QuicCongestionFeedbackFrame feedback;
|
| + if (send_feedback && version_ <= QUIC_VERSION_22) {
|
| + feedback.type = kTCP;
|
| + feedback.tcp.receive_window = 256000;
|
| frames.push_back(QuicFrame(&feedback));
|
| }
|
|
|
|
|