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