OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_QUIC_TEST_TOOLS_QUIC_CONNECTION_PEER_H_ | 5 #ifndef NET_QUIC_TEST_TOOLS_QUIC_CONNECTION_PEER_H_ |
6 #define NET_QUIC_TEST_TOOLS_QUIC_CONNECTION_PEER_H_ | 6 #define NET_QUIC_TEST_TOOLS_QUIC_CONNECTION_PEER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "net/quic/quic_protocol.h" | 9 #include "net/quic/quic_protocol.h" |
10 #include "net/quic/quic_stats.h" | 10 #include "net/quic/quic_stats.h" |
11 | 11 |
12 namespace net { | 12 namespace net { |
13 | 13 |
14 struct QuicAckFrame; | 14 struct QuicAckFrame; |
| 15 struct QuicPacketHeader; |
15 class QuicConnection; | 16 class QuicConnection; |
| 17 class QuicConnectionHelperInterface; |
16 class QuicConnectionVisitorInterface; | 18 class QuicConnectionVisitorInterface; |
| 19 class QuicFecGroup; |
17 class QuicFramer; | 20 class QuicFramer; |
18 class QuicPacketCreator; | 21 class QuicPacketCreator; |
19 class ReceiveAlgorithmInterface; | 22 class ReceiveAlgorithmInterface; |
20 class SendAlgorithmInterface; | 23 class SendAlgorithmInterface; |
21 | 24 |
22 namespace test { | 25 namespace test { |
23 | 26 |
24 // Peer to make public a number of otherwise private QuicConnection methods. | 27 // Peer to make public a number of otherwise private QuicConnection methods. |
25 class QuicConnectionPeer { | 28 class QuicConnectionPeer { |
26 public: | 29 public: |
27 static void SendAck(QuicConnection* connection); | 30 static void SendAck(QuicConnection* connection); |
28 | 31 |
29 static void SetReceiveAlgorithm(QuicConnection* connection, | 32 static void SetReceiveAlgorithm(QuicConnection* connection, |
30 ReceiveAlgorithmInterface* receive_algorithm); | 33 ReceiveAlgorithmInterface* receive_algorithm); |
31 | 34 |
32 static void SetSendAlgorithm(QuicConnection* connection, | 35 static void SetSendAlgorithm(QuicConnection* connection, |
33 SendAlgorithmInterface* send_algorithm); | 36 SendAlgorithmInterface* send_algorithm); |
34 | 37 |
35 static QuicAckFrame* GetOutgoingAck(QuicConnection* connection); | 38 static QuicAckFrame* GetOutgoingAck(QuicConnection* connection); |
36 | 39 |
37 static QuicConnectionVisitorInterface* GetVisitor( | 40 static QuicConnectionVisitorInterface* GetVisitor( |
38 QuicConnection* connection); | 41 QuicConnection* connection); |
39 | 42 |
40 static QuicPacketCreator* GetPacketCreator(QuicConnection* connection); | 43 static QuicPacketCreator* GetPacketCreator(QuicConnection* connection); |
41 | 44 |
42 static bool GetReceivedTruncatedAck(QuicConnection* connection); | 45 static bool GetReceivedTruncatedAck(QuicConnection* connection); |
43 | 46 |
44 static size_t GetNumRetransmissionTimeouts(QuicConnection* connection); | 47 static size_t GetNumRetransmissionTimeouts(QuicConnection* connection); |
45 | 48 |
| 49 static QuicTime::Delta GetTimeout(QuicConnection* connection); |
| 50 |
46 static bool IsSavedForRetransmission( | 51 static bool IsSavedForRetransmission( |
47 QuicConnection* connection, | 52 QuicConnection* connection, |
48 QuicPacketSequenceNumber sequence_number); | 53 QuicPacketSequenceNumber sequence_number); |
49 | 54 |
50 static size_t GetRetransmissionCount( | 55 static size_t GetRetransmissionCount( |
51 QuicConnection* connection, | 56 QuicConnection* connection, |
52 QuicPacketSequenceNumber sequence_number); | 57 QuicPacketSequenceNumber sequence_number); |
53 | 58 |
54 static QuicPacketEntropyHash GetSentEntropyHash( | 59 static QuicPacketEntropyHash GetSentEntropyHash( |
55 QuicConnection* connection, | 60 QuicConnection* connection, |
56 QuicPacketSequenceNumber sequence_number); | 61 QuicPacketSequenceNumber sequence_number); |
57 | 62 |
58 static bool IsValidEntropy(QuicConnection* connection, | 63 static bool IsValidEntropy(QuicConnection* connection, |
59 QuicPacketSequenceNumber largest_observed, | 64 QuicPacketSequenceNumber largest_observed, |
60 const SequenceNumberSet& missing_packets, | 65 const SequenceNumberSet& missing_packets, |
61 QuicPacketEntropyHash entropy_hash); | 66 QuicPacketEntropyHash entropy_hash); |
62 | 67 |
63 static QuicPacketEntropyHash ReceivedEntropyHash( | 68 static QuicPacketEntropyHash ReceivedEntropyHash( |
64 QuicConnection* connection, | 69 QuicConnection* connection, |
65 QuicPacketSequenceNumber sequence_number); | 70 QuicPacketSequenceNumber sequence_number); |
66 | 71 |
67 static bool IsServer(QuicConnection* connection); | 72 static bool IsServer(QuicConnection* connection); |
68 | 73 |
69 static void SetIsServer(QuicConnection* connection, bool is_server); | 74 static void SetIsServer(QuicConnection* connection, bool is_server); |
70 | 75 |
71 static void SwapCrypters(QuicConnection* connection, QuicFramer* framer); | 76 static void SwapCrypters(QuicConnection* connection, QuicFramer* framer); |
72 | 77 |
| 78 static void SetMaxPacketsPerRetransmissionAlarm(QuicConnection* connection, |
| 79 int max_packets); |
| 80 |
| 81 static QuicConnectionHelperInterface* GetHelper(QuicConnection* connection); |
| 82 |
| 83 // Set last_header_->fec_group = fec_group and return connection->GetFecGroup |
| 84 static QuicFecGroup* GetFecGroup(QuicConnection* connection, int fec_group); |
| 85 |
73 private: | 86 private: |
74 DISALLOW_COPY_AND_ASSIGN(QuicConnectionPeer); | 87 DISALLOW_COPY_AND_ASSIGN(QuicConnectionPeer); |
75 }; | 88 }; |
76 | 89 |
77 } // namespace test | 90 } // namespace test |
78 } // namespace net | 91 } // namespace net |
79 | 92 |
80 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_PEER_H_ | 93 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_PEER_H_ |
OLD | NEW |