Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: net/quic/core/quic_protocol.h

Issue 2322233004: Landing Recent QUIC changes until Sun Sep 4 03:41:00 (Closed)
Patch Set: Remove simulation files from the build. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/core/quic_packet_generator_test.cc ('k') | net/quic/core/quic_protocol.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef NET_QUIC_QUIC_PROTOCOL_H_ 5 #ifndef NET_QUIC_QUIC_PROTOCOL_H_
6 #define NET_QUIC_QUIC_PROTOCOL_H_ 6 #define NET_QUIC_QUIC_PROTOCOL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 QUIC_VERSION_UNSUPPORTED = 0, 368 QUIC_VERSION_UNSUPPORTED = 0,
369 369
370 QUIC_VERSION_30 = 30, // Add server side support of cert transparency. 370 QUIC_VERSION_30 = 30, // Add server side support of cert transparency.
371 QUIC_VERSION_31 = 31, // Adds a hash of the client hello to crypto proof. 371 QUIC_VERSION_31 = 31, // Adds a hash of the client hello to crypto proof.
372 QUIC_VERSION_32 = 32, // FEC related fields are removed from wire format. 372 QUIC_VERSION_32 = 32, // FEC related fields are removed from wire format.
373 QUIC_VERSION_33 = 33, // Adds diversification nonces. 373 QUIC_VERSION_33 = 33, // Adds diversification nonces.
374 QUIC_VERSION_34 = 34, // Deprecates entropy, removes private flag from packet 374 QUIC_VERSION_34 = 34, // Deprecates entropy, removes private flag from packet
375 // header, uses new ack and stop waiting wire format. 375 // header, uses new ack and stop waiting wire format.
376 QUIC_VERSION_35 = 35, // Allows endpoints to independently set stream limit. 376 QUIC_VERSION_35 = 35, // Allows endpoints to independently set stream limit.
377 QUIC_VERSION_36 = 36, // Add support to force HOL blocking. 377 QUIC_VERSION_36 = 36, // Add support to force HOL blocking.
378
379 // IMPORTANT: if you are adding to this std::list, follow the instructions at
380 // http://sites/quic/adding-and-removing-versions
378 }; 381 };
379 382
380 // This vector contains QUIC versions which we currently support. 383 // This vector contains QUIC versions which we currently support.
381 // This should be ordered such that the highest supported version is the first 384 // This should be ordered such that the highest supported version is the first
382 // element, with subsequent elements in descending order (versions can be 385 // element, with subsequent elements in descending order (versions can be
383 // skipped as necessary). 386 // skipped as necessary).
384 // 387 //
385 // IMPORTANT: if you are adding to this list, follow the instructions at 388 // IMPORTANT: if you are adding to this list, follow the instructions at
386 // http://sites/quic/adding-and-removing-versions 389 // http://sites/quic/adding-and-removing-versions
387 static const QuicVersion kSupportedQuicVersions[] = { 390 static const QuicVersion kSupportedQuicVersions[] = {
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
1174 NUM_ENCRYPTION_LEVELS, 1177 NUM_ENCRYPTION_LEVELS,
1175 }; 1178 };
1176 1179
1177 enum PeerAddressChangeType { 1180 enum PeerAddressChangeType {
1178 // IP address and port remain unchanged. 1181 // IP address and port remain unchanged.
1179 NO_CHANGE, 1182 NO_CHANGE,
1180 // Port changed, but IP address remains unchanged. 1183 // Port changed, but IP address remains unchanged.
1181 PORT_CHANGE, 1184 PORT_CHANGE,
1182 // IPv4 address changed, but within the /24 subnet (port may have changed.) 1185 // IPv4 address changed, but within the /24 subnet (port may have changed.)
1183 IPV4_SUBNET_CHANGE, 1186 IPV4_SUBNET_CHANGE,
1187 // IPv4 address changed, excluding /24 subnet change (port may have changed.)
1188 IPV4_TO_IPV4_CHANGE,
1184 // IP address change from an IPv4 to an IPv6 address (port may have changed.) 1189 // IP address change from an IPv4 to an IPv6 address (port may have changed.)
1185 IPV4_TO_IPV6_CHANGE, 1190 IPV4_TO_IPV6_CHANGE,
1186 // IP address change from an IPv6 to an IPv4 address (port may have changed.) 1191 // IP address change from an IPv6 to an IPv4 address (port may have changed.)
1187 IPV6_TO_IPV4_CHANGE, 1192 IPV6_TO_IPV4_CHANGE,
1188 // IP address change from an IPv6 to an IPv6 address (port may have changed.) 1193 // IP address change from an IPv6 to an IPv6 address (port may have changed.)
1189 IPV6_TO_IPV6_CHANGE, 1194 IPV6_TO_IPV6_CHANGE,
1190 // All other peer address changes.
1191 UNSPECIFIED_CHANGE,
1192 }; 1195 };
1193 1196
1194 struct NET_EXPORT_PRIVATE QuicFrame { 1197 struct NET_EXPORT_PRIVATE QuicFrame {
1195 QuicFrame(); 1198 QuicFrame();
1196 explicit QuicFrame(QuicPaddingFrame padding_frame); 1199 explicit QuicFrame(QuicPaddingFrame padding_frame);
1197 explicit QuicFrame(QuicMtuDiscoveryFrame frame); 1200 explicit QuicFrame(QuicMtuDiscoveryFrame frame);
1198 explicit QuicFrame(QuicPingFrame frame); 1201 explicit QuicFrame(QuicPingFrame frame);
1199 1202
1200 explicit QuicFrame(QuicStreamFrame* stream_frame); 1203 explicit QuicFrame(QuicStreamFrame* stream_frame);
1201 explicit QuicFrame(QuicAckFrame* frame); 1204 explicit QuicFrame(QuicAckFrame* frame);
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1388 public: 1391 public:
1389 explicit QuicVersionManager(QuicVersionVector supported_versions); 1392 explicit QuicVersionManager(QuicVersionVector supported_versions);
1390 ~QuicVersionManager(); 1393 ~QuicVersionManager();
1391 1394
1392 // Returns supported versions based on flags. 1395 // Returns supported versions based on flags.
1393 const QuicVersionVector& GetSupportedVersions(); 1396 const QuicVersionVector& GetSupportedVersions();
1394 1397
1395 private: 1398 private:
1396 // FLAGS_quic_disable_pre_32 1399 // FLAGS_quic_disable_pre_32
1397 bool disable_pre_32_; 1400 bool disable_pre_32_;
1401 // FLAGS_quic_disable_pre_34
1402 bool disable_pre_34_;
1398 // FLAGS_quic_enable_version_35 1403 // FLAGS_quic_enable_version_35
1399 bool enable_version_35_; 1404 bool enable_version_35_;
1400 // FLAGS_quic_enable_version_36_v2 1405 // FLAGS_quic_enable_version_36_v2
1401 bool enable_version_36_; 1406 bool enable_version_36_;
1402 // The list of versions that may be supported. 1407 // The list of versions that may be supported.
1403 QuicVersionVector allowed_supported_versions_; 1408 QuicVersionVector allowed_supported_versions_;
1404 // This vector contains QUIC versions which are currently supported based 1409 // This vector contains QUIC versions which are currently supported based
1405 // on flags. 1410 // on flags.
1406 QuicVersionVector filtered_supported_versions_; 1411 QuicVersionVector filtered_supported_versions_;
1407 }; 1412 };
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1530 : iov(iov), iov_count(iov_count), total_length(total_length) {} 1535 : iov(iov), iov_count(iov_count), total_length(total_length) {}
1531 1536
1532 const struct iovec* iov; 1537 const struct iovec* iov;
1533 const int iov_count; 1538 const int iov_count;
1534 const size_t total_length; 1539 const size_t total_length;
1535 }; 1540 };
1536 1541
1537 } // namespace net 1542 } // namespace net
1538 1543
1539 #endif // NET_QUIC_QUIC_PROTOCOL_H_ 1544 #endif // NET_QUIC_QUIC_PROTOCOL_H_
OLDNEW
« no previous file with comments | « net/quic/core/quic_packet_generator_test.cc ('k') | net/quic/core/quic_protocol.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698