quic_sent_packet_manager_peer.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 SetMaxTailLossProbes( 20 QuicSentPacketManager* sent_packet_manager, size_t max_tail_loss_probes); 21 22 static void SetSendAlgorithm(QuicSentPacketManager* sent_packet_manager, 23 SendAlgorithmInterface* send_algorithm); 24 25 static size_t GetNackCount( 26 const QuicSentPacketManager* sent_packet_manager, 27 QuicPacketSequenceNumber sequence_number); 28 29 static size_t GetPendingRetransmissionCount( 30 const QuicSentPacketManager* sent_packet_manager); 31 32 static bool HasPendingPackets( 33 const QuicSentPacketManager* sent_packet_manager); 34 35 static QuicTime GetSentTime(const QuicSentPacketManager* sent_packet_manager, 36 QuicPacketSequenceNumber sequence_number); 37 38 static QuicTime::Delta rtt(QuicSentPacketManager* sent_packet_manager); 39 40 // Returns true if |sequence_number| is a retransmission of a packet. 41 static bool IsRetransmission(QuicSentPacketManager* sent_packet_manager, 42 QuicPacketSequenceNumber sequence_number); 43 44 static void MarkForRetransmission(QuicSentPacketManager* sent_packet_manager, 45 QuicPacketSequenceNumber sequence_number, 46 TransmissionType transmission_type); 47 48 static QuicTime::Delta GetRetransmissionDelay( 49 const QuicSentPacketManager* sent_packet_manager); 50 51 static bool HasUnackedCryptoPackets( 52 const QuicSentPacketManager* sent_packet_manager); 53 54 private: 55 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManagerPeer); 56}; 57 58} // namespace test 59 60} // namespace net 61 62#endif // NET_QUIC_TEST_TOOLS_QUIC_SENT_PACKET_MANAGER_PEER_H_ 63