diff options
Diffstat (limited to 'net/quic/test_tools')
-rw-r--r-- | net/quic/test_tools/quic_test_packet_maker.cc | 41 | ||||
-rw-r--r-- | net/quic/test_tools/quic_test_packet_maker.h | 8 | ||||
-rw-r--r-- | net/quic/test_tools/quic_test_utils.cc | 4 | ||||
-rw-r--r-- | net/quic/test_tools/quic_test_utils.h | 5 |
4 files changed, 53 insertions, 5 deletions
diff --git a/net/quic/test_tools/quic_test_packet_maker.cc b/net/quic/test_tools/quic_test_packet_maker.cc index 50303b8..38bd0c0 100644 --- a/net/quic/test_tools/quic_test_packet_maker.cc +++ b/net/quic/test_tools/quic_test_packet_maker.cc @@ -40,6 +40,47 @@ scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeRstPacket( return scoped_ptr<QuicEncryptedPacket>(MakePacket(header, QuicFrame(&rst))); } +scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeAckAndRstPacket( + QuicPacketSequenceNumber num, + bool include_version, + QuicStreamId stream_id, + QuicRstStreamErrorCode error_code, + QuicPacketSequenceNumber largest_received, + QuicPacketSequenceNumber least_unacked, + bool send_feedback) { + + QuicPacketHeader header; + header.public_header.guid = guid_; + header.public_header.reset_flag = false; + header.public_header.version_flag = include_version; + header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; + header.packet_sequence_number = num; + header.entropy_flag = false; + header.fec_flag = false; + header.fec_group = 0; + + QuicAckFrame ack(largest_received, QuicTime::Zero(), least_unacked); + QuicFrames frames; + frames.push_back(QuicFrame(&ack)); + if (send_feedback) { + QuicCongestionFeedbackFrame feedback; + feedback.type = kTCP; + feedback.tcp.accumulated_number_of_lost_packets = 0; + feedback.tcp.receive_window = 256000; + + frames.push_back(QuicFrame(&feedback)); + } + + QuicRstStreamFrame rst(stream_id, error_code); + frames.push_back(QuicFrame(&rst)); + + QuicFramer framer(SupportedVersions(version_), QuicTime::Zero(), false); + scoped_ptr<QuicPacket> packet( + framer.BuildUnsizedDataPacket(header, frames).packet); + return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket( + ENCRYPTION_NONE, header.packet_sequence_number, *packet)); +} + scoped_ptr<QuicEncryptedPacket> QuicTestPacketMaker::MakeConnectionClosePacket( QuicPacketSequenceNumber num) { QuicPacketHeader header; diff --git a/net/quic/test_tools/quic_test_packet_maker.h b/net/quic/test_tools/quic_test_packet_maker.h index ac5051c..47d606e 100644 --- a/net/quic/test_tools/quic_test_packet_maker.h +++ b/net/quic/test_tools/quic_test_packet_maker.h @@ -28,6 +28,14 @@ class QuicTestPacketMaker { bool include_version, QuicStreamId stream_id, QuicRstStreamErrorCode error_code); + scoped_ptr<QuicEncryptedPacket> MakeAckAndRstPacket( + QuicPacketSequenceNumber num, + bool include_version, + QuicStreamId stream_id, + QuicRstStreamErrorCode error_code, + QuicPacketSequenceNumber largest_received, + QuicPacketSequenceNumber least_unacked, + bool send_feedback); scoped_ptr<QuicEncryptedPacket> MakeConnectionClosePacket( QuicPacketSequenceNumber num); scoped_ptr<QuicEncryptedPacket> MakeAckPacket( diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc index 78ffa35..17d0ac5 100644 --- a/net/quic/test_tools/quic_test_utils.cc +++ b/net/quic/test_tools/quic_test_utils.cc @@ -307,8 +307,8 @@ bool PacketSavingConnection::SendOrQueuePacket( const SerializedPacket& packet, TransmissionType transmission_type) { packets_.push_back(packet.packet); - QuicEncryptedPacket* encrypted = - framer_.EncryptPacket(level, packet.sequence_number, *packet.packet); + QuicEncryptedPacket* encrypted = QuicConnectionPeer::GetFramer(this)-> + EncryptPacket(level, packet.sequence_number, *packet.packet); encrypted_packets_.push_back(encrypted); return true; } diff --git a/net/quic/test_tools/quic_test_utils.h b/net/quic/test_tools/quic_test_utils.h index 4c5be0d..a77cb08 100644 --- a/net/quic/test_tools/quic_test_utils.h +++ b/net/quic/test_tools/quic_test_utils.h @@ -385,12 +385,11 @@ class MockPacketWriter : public QuicPacketWriter { MockPacketWriter(); virtual ~MockPacketWriter(); - MOCK_METHOD5(WritePacket, + MOCK_METHOD4(WritePacket, WriteResult(const char* buffer, size_t buf_len, const IPAddressNumber& self_address, - const IPEndPoint& peer_address, - QuicBlockedWriterInterface* blocked_writer)); + const IPEndPoint& peer_address)); MOCK_CONST_METHOD0(IsWriteBlockedDataBuffered, bool()); MOCK_CONST_METHOD0(IsWriteBlocked, bool()); MOCK_METHOD0(SetWritable, void()); |