1 // Copyright 2014 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 QUICHE_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_ 6 #define QUICHE_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_ 7 8 #include "quiche/quic/core/quic_config.h" 9 #include "quiche/quic/core/quic_connection_id.h" 10 #include "quiche/quic/core/quic_packets.h" 11 #include "quiche/quic/core/quic_types.h" 12 13 namespace quic { 14 15 class QuicConfig; 16 17 namespace test { 18 19 class QuicConfigPeer { 20 public: 21 QuicConfigPeer() = delete; 22 23 static void SetReceivedInitialStreamFlowControlWindow(QuicConfig* config, 24 uint32_t window_bytes); 25 26 static void SetReceivedInitialMaxStreamDataBytesIncomingBidirectional( 27 QuicConfig* config, uint32_t window_bytes); 28 29 static void SetReceivedInitialMaxStreamDataBytesOutgoingBidirectional( 30 QuicConfig* config, uint32_t window_bytes); 31 32 static void SetReceivedInitialMaxStreamDataBytesUnidirectional( 33 QuicConfig* config, uint32_t window_bytes); 34 35 static void SetReceivedInitialSessionFlowControlWindow(QuicConfig* config, 36 uint32_t window_bytes); 37 38 static void SetReceivedConnectionOptions(QuicConfig* config, 39 const QuicTagVector& options); 40 41 static void SetReceivedBytesForConnectionId(QuicConfig* config, 42 uint32_t bytes); 43 44 static void SetReceivedDisableConnectionMigration(QuicConfig* config); 45 46 static void SetReceivedMaxBidirectionalStreams(QuicConfig* config, 47 uint32_t max_streams); 48 static void SetReceivedMaxUnidirectionalStreams(QuicConfig* config, 49 uint32_t max_streams); 50 51 static void SetConnectionOptionsToSend(QuicConfig* config, 52 const QuicTagVector& options); 53 54 static void SetReceivedStatelessResetToken(QuicConfig* config, 55 const StatelessResetToken& token); 56 57 static void SetReceivedMaxPacketSize(QuicConfig* config, 58 uint32_t max_udp_payload_size); 59 60 static void SetReceivedMinAckDelayMs(QuicConfig* config, 61 uint32_t min_ack_delay_ms); 62 63 static void SetNegotiated(QuicConfig* config, bool negotiated); 64 65 static void SetReceivedOriginalConnectionId( 66 QuicConfig* config, 67 const QuicConnectionId& original_destination_connection_id); 68 69 static void SetReceivedInitialSourceConnectionId( 70 QuicConfig* config, const QuicConnectionId& initial_source_connection_id); 71 72 static void SetReceivedRetrySourceConnectionId( 73 QuicConfig* config, const QuicConnectionId& retry_source_connection_id); 74 75 static void SetReceivedMaxDatagramFrameSize(QuicConfig* config, 76 uint64_t max_datagram_frame_size); 77 78 static void SetReceivedAlternateServerAddress( 79 QuicConfig* config, const QuicSocketAddress& server_address); 80 81 static void SetPreferredAddressConnectionIdAndToken( 82 QuicConfig* config, QuicConnectionId connection_id, 83 const StatelessResetToken& token); 84 }; 85 86 } // namespace test 87 88 } // namespace quic 89 90 #endif // QUICHE_QUIC_TEST_TOOLS_QUIC_CONFIG_PEER_H_ 91