| 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 // Common utilities for Quic tests | 5 // Common utilities for Quic tests |
| 6 | 6 |
| 7 #ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 7 #ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
| 8 #define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 8 #define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 | 27 |
| 28 static const QuicConnectionId kTestConnectionId = 42; | 28 static const QuicConnectionId kTestConnectionId = 42; |
| 29 static const int kTestPort = 123; | 29 static const int kTestPort = 123; |
| 30 static const uint32 kInitialFlowControlWindowForTest = 32 * 1024; // 32 KB | 30 static const uint32 kInitialFlowControlWindowForTest = 32 * 1024; // 32 KB |
| 31 | 31 |
| 32 // Testing convenience method to construct a QuicAckFrame with |num_nack_ranges| | 32 // Testing convenience method to construct a QuicAckFrame with |num_nack_ranges| |
| 33 // nack ranges of width 1 packet, starting from |least_unacked|. | 33 // nack ranges of width 1 packet, starting from |least_unacked|. |
| 34 QuicAckFrame MakeAckFrameWithNackRanges(size_t num_nack_ranges, | 34 QuicAckFrame MakeAckFrameWithNackRanges(size_t num_nack_ranges, |
| 35 QuicPacketSequenceNumber least_unacked); | 35 QuicPacketSequenceNumber least_unacked); |
| 36 | 36 |
| 37 // Simple random number generator used to compute random numbers suitable | |
| 38 // for pseudo-randomly dropping packets in tests. It works by computing | |
| 39 // the sha1 hash of the current seed, and using the first 64 bits as | |
| 40 // the next random number, and the next seed. | |
| 41 class SimpleRandom { | |
| 42 public: | |
| 43 SimpleRandom() : seed_(0) {} | |
| 44 | |
| 45 // Returns a random number in the range [0, kuint64max]. | |
| 46 uint64 RandUint64(); | |
| 47 | |
| 48 void set_seed(uint64 seed) { seed_ = seed; } | |
| 49 | |
| 50 private: | |
| 51 uint64 seed_; | |
| 52 | |
| 53 DISALLOW_COPY_AND_ASSIGN(SimpleRandom); | |
| 54 }; | |
| 55 | |
| 56 class MockConnection : public QuicConnection { | 37 class MockConnection : public QuicConnection { |
| 57 public: | 38 public: |
| 58 // Uses a MockHelper, ConnectionId of 42, and 127.0.0.1:123. | 39 // Uses a MockHelper, ConnectionId of 42, and 127.0.0.1:123. |
| 59 explicit MockConnection(bool is_server); | 40 explicit MockConnection(bool is_server); |
| 60 | 41 |
| 61 // Uses a MockHelper, ConnectionId of 42. | 42 // Uses a MockHelper, ConnectionId of 42. |
| 62 MockConnection(IPEndPoint address, bool is_server); | 43 MockConnection(IPEndPoint address, bool is_server); |
| 63 | 44 |
| 64 // Uses a MockHelper, and 127.0.0.1:123 | 45 // Uses a MockHelper, and 127.0.0.1:123 |
| 65 MockConnection(QuicConnectionId connection_id, bool is_server); | 46 MockConnection(QuicConnectionId connection_id, bool is_server); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 virtual ~MockAckNotifierDelegate(); | 153 virtual ~MockAckNotifierDelegate(); |
| 173 | 154 |
| 174 DISALLOW_COPY_AND_ASSIGN(MockAckNotifierDelegate); | 155 DISALLOW_COPY_AND_ASSIGN(MockAckNotifierDelegate); |
| 175 }; | 156 }; |
| 176 | 157 |
| 177 } // namespace test | 158 } // namespace test |
| 178 } // namespace tools | 159 } // namespace tools |
| 179 } // namespace net | 160 } // namespace net |
| 180 | 161 |
| 181 #endif // NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 162 #endif // NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
| OLD | NEW |