quic_sent_packet_manager_peer.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef NET_QUIC_TEST_TOOLS_QUIC_SENT_PACKET_MANAGER_PEER_H_ 6#define NET_QUIC_TEST_TOOLS_QUIC_SENT_PACKET_MANAGER_PEER_H_ 7 8#include "net/quic/quic_protocol.h" 9#include "net/quic/quic_sent_packet_manager.h" 10 11namespace net { 12 13class SendAlgorithmInterface; 14 15namespace test { 16 17class QuicSentPacketManagerPeer { 18 public: 19 static void SetSendAlgorithm(QuicSentPacketManager* sent_packet_manager, 20 SendAlgorithmInterface* send_algorithm); 21 22 static size_t GetNackCount( 23 const QuicSentPacketManager* sent_packet_manager, 24 QuicPacketSequenceNumber sequence_number); 25 26 static QuicTime::Delta rtt(QuicSentPacketManager* sent_packet_manager); 27 28 // Returns true if |sequence_number| is a retransmission of a packet. 29 static bool IsRetransmission(QuicSentPacketManager* sent_packet_manager, 30 QuicPacketSequenceNumber sequence_number); 31 32 static void MarkForRetransmission(QuicSentPacketManager* sent_packet_manager, 33 QuicPacketSequenceNumber sequence_number, 34 TransmissionType transmission_type); 35 36 private: 37 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManagerPeer); 38}; 39 40} // namespace test 41 42} // namespace net 43 44#endif // NET_QUIC_TEST_TOOLS_QUIC_SENT_PACKET_MANAGER_PEER_H_ 45