xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/test_tools/quic_config_peer.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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