xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/test_tools/quic_config_peer.cc (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 #include "quiche/quic/test_tools/quic_config_peer.h"
6 
7 #include "quiche/quic/core/quic_config.h"
8 #include "quiche/quic/core/quic_connection_id.h"
9 
10 namespace quic {
11 namespace test {
12 
13 // static
SetReceivedInitialStreamFlowControlWindow(QuicConfig * config,uint32_t window_bytes)14 void QuicConfigPeer::SetReceivedInitialStreamFlowControlWindow(
15     QuicConfig* config, uint32_t window_bytes) {
16   config->initial_stream_flow_control_window_bytes_.SetReceivedValue(
17       window_bytes);
18 }
19 
20 // static
SetReceivedInitialMaxStreamDataBytesIncomingBidirectional(QuicConfig * config,uint32_t window_bytes)21 void QuicConfigPeer::SetReceivedInitialMaxStreamDataBytesIncomingBidirectional(
22     QuicConfig* config, uint32_t window_bytes) {
23   config->initial_max_stream_data_bytes_incoming_bidirectional_
24       .SetReceivedValue(window_bytes);
25 }
26 
27 // static
SetReceivedInitialMaxStreamDataBytesOutgoingBidirectional(QuicConfig * config,uint32_t window_bytes)28 void QuicConfigPeer::SetReceivedInitialMaxStreamDataBytesOutgoingBidirectional(
29     QuicConfig* config, uint32_t window_bytes) {
30   config->initial_max_stream_data_bytes_outgoing_bidirectional_
31       .SetReceivedValue(window_bytes);
32 }
33 
34 // static
SetReceivedInitialMaxStreamDataBytesUnidirectional(QuicConfig * config,uint32_t window_bytes)35 void QuicConfigPeer::SetReceivedInitialMaxStreamDataBytesUnidirectional(
36     QuicConfig* config, uint32_t window_bytes) {
37   config->initial_max_stream_data_bytes_unidirectional_.SetReceivedValue(
38       window_bytes);
39 }
40 
41 // static
SetReceivedInitialSessionFlowControlWindow(QuicConfig * config,uint32_t window_bytes)42 void QuicConfigPeer::SetReceivedInitialSessionFlowControlWindow(
43     QuicConfig* config, uint32_t window_bytes) {
44   config->initial_session_flow_control_window_bytes_.SetReceivedValue(
45       window_bytes);
46 }
47 
48 // static
SetReceivedConnectionOptions(QuicConfig * config,const QuicTagVector & options)49 void QuicConfigPeer::SetReceivedConnectionOptions(
50     QuicConfig* config, const QuicTagVector& options) {
51   config->connection_options_.SetReceivedValues(options);
52 }
53 
54 // static
SetReceivedBytesForConnectionId(QuicConfig * config,uint32_t bytes)55 void QuicConfigPeer::SetReceivedBytesForConnectionId(QuicConfig* config,
56                                                      uint32_t bytes) {
57   QUICHE_DCHECK(bytes == 0 || bytes == 8);
58   config->bytes_for_connection_id_.SetReceivedValue(bytes);
59 }
60 
61 // static
SetReceivedDisableConnectionMigration(QuicConfig * config)62 void QuicConfigPeer::SetReceivedDisableConnectionMigration(QuicConfig* config) {
63   config->connection_migration_disabled_.SetReceivedValue(1);
64 }
65 
66 // static
SetReceivedMaxBidirectionalStreams(QuicConfig * config,uint32_t max_streams)67 void QuicConfigPeer::SetReceivedMaxBidirectionalStreams(QuicConfig* config,
68                                                         uint32_t max_streams) {
69   config->max_bidirectional_streams_.SetReceivedValue(max_streams);
70 }
71 // static
SetReceivedMaxUnidirectionalStreams(QuicConfig * config,uint32_t max_streams)72 void QuicConfigPeer::SetReceivedMaxUnidirectionalStreams(QuicConfig* config,
73                                                          uint32_t max_streams) {
74   config->max_unidirectional_streams_.SetReceivedValue(max_streams);
75 }
76 
77 // static
SetConnectionOptionsToSend(QuicConfig * config,const QuicTagVector & options)78 void QuicConfigPeer::SetConnectionOptionsToSend(QuicConfig* config,
79                                                 const QuicTagVector& options) {
80   config->SetConnectionOptionsToSend(options);
81 }
82 
83 // static
SetReceivedStatelessResetToken(QuicConfig * config,const StatelessResetToken & token)84 void QuicConfigPeer::SetReceivedStatelessResetToken(
85     QuicConfig* config, const StatelessResetToken& token) {
86   config->stateless_reset_token_.SetReceivedValue(token);
87 }
88 
89 // static
SetReceivedMaxPacketSize(QuicConfig * config,uint32_t max_udp_payload_size)90 void QuicConfigPeer::SetReceivedMaxPacketSize(QuicConfig* config,
91                                               uint32_t max_udp_payload_size) {
92   config->max_udp_payload_size_.SetReceivedValue(max_udp_payload_size);
93 }
94 
95 // static
SetReceivedMinAckDelayMs(QuicConfig * config,uint32_t min_ack_delay_ms)96 void QuicConfigPeer::SetReceivedMinAckDelayMs(QuicConfig* config,
97                                               uint32_t min_ack_delay_ms) {
98   config->min_ack_delay_ms_.SetReceivedValue(min_ack_delay_ms);
99 }
100 
101 // static
SetNegotiated(QuicConfig * config,bool negotiated)102 void QuicConfigPeer::SetNegotiated(QuicConfig* config, bool negotiated) {
103   config->negotiated_ = negotiated;
104 }
105 
106 // static
SetReceivedOriginalConnectionId(QuicConfig * config,const QuicConnectionId & original_destination_connection_id)107 void QuicConfigPeer::SetReceivedOriginalConnectionId(
108     QuicConfig* config,
109     const QuicConnectionId& original_destination_connection_id) {
110   config->received_original_destination_connection_id_ =
111       original_destination_connection_id;
112 }
113 
114 // static
SetReceivedInitialSourceConnectionId(QuicConfig * config,const QuicConnectionId & initial_source_connection_id)115 void QuicConfigPeer::SetReceivedInitialSourceConnectionId(
116     QuicConfig* config, const QuicConnectionId& initial_source_connection_id) {
117   config->received_initial_source_connection_id_ = initial_source_connection_id;
118 }
119 
120 // static
SetReceivedRetrySourceConnectionId(QuicConfig * config,const QuicConnectionId & retry_source_connection_id)121 void QuicConfigPeer::SetReceivedRetrySourceConnectionId(
122     QuicConfig* config, const QuicConnectionId& retry_source_connection_id) {
123   config->received_retry_source_connection_id_ = retry_source_connection_id;
124 }
125 
126 // static
SetReceivedMaxDatagramFrameSize(QuicConfig * config,uint64_t max_datagram_frame_size)127 void QuicConfigPeer::SetReceivedMaxDatagramFrameSize(
128     QuicConfig* config, uint64_t max_datagram_frame_size) {
129   config->max_datagram_frame_size_.SetReceivedValue(max_datagram_frame_size);
130 }
131 
132 //  static
SetReceivedAlternateServerAddress(QuicConfig * config,const QuicSocketAddress & server_address)133 void QuicConfigPeer::SetReceivedAlternateServerAddress(
134     QuicConfig* config, const QuicSocketAddress& server_address) {
135   switch (server_address.host().address_family()) {
136     case quiche::IpAddressFamily::IP_V4:
137       config->alternate_server_address_ipv4_.SetReceivedValue(server_address);
138       break;
139     case quiche::IpAddressFamily::IP_V6:
140       config->alternate_server_address_ipv6_.SetReceivedValue(server_address);
141       break;
142     case quiche::IpAddressFamily::IP_UNSPEC:
143       break;
144   }
145 }
146 
147 // static
SetPreferredAddressConnectionIdAndToken(QuicConfig * config,QuicConnectionId connection_id,const StatelessResetToken & token)148 void QuicConfigPeer::SetPreferredAddressConnectionIdAndToken(
149     QuicConfig* config, QuicConnectionId connection_id,
150     const StatelessResetToken& token) {
151   config->preferred_address_connection_id_and_token_ =
152       std::make_pair(connection_id, token);
153 }
154 
155 }  // namespace test
156 }  // namespace quic
157