Project import generated by Copybara.
PiperOrigin-RevId: 237361882
Change-Id: I109a68f44db867b20f8c6a7732b0ce657133e52a
diff --git a/quic/core/proto/cached_network_parameters.proto b/quic/core/proto/cached_network_parameters.proto
new file mode 100644
index 0000000..d609be9
--- /dev/null
+++ b/quic/core/proto/cached_network_parameters.proto
@@ -0,0 +1,43 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto2";
+
+option optimize_for = LITE_RUNTIME;
+
+package quic;
+
+// CachedNetworkParameters contains data that can be used to choose appropriate
+// connection parameters (initial RTT, initial CWND, etc.) in new connections.
+// Next id: 8
+message CachedNetworkParameters {
+ // Describes the state of the connection during which the supplied network
+ // parameters were calculated.
+ enum PreviousConnectionState {
+ SLOW_START = 0;
+ CONGESTION_AVOIDANCE = 1;
+ }
+
+ // serving_region is used to decide whether or not the bandwidth estimate and
+ // min RTT are reasonable and if they should be used.
+ // For example a group of geographically close servers may share the same
+ // serving_region string if they are expected to have similar network
+ // performance.
+ optional string serving_region = 1;
+ // The server can supply a bandwidth estimate (in bytes/s) which it may re-use
+ // on receipt of a source-address token with this field set.
+ optional int32 bandwidth_estimate_bytes_per_second = 2;
+ // The maximum bandwidth seen to the client, not necessarily the latest.
+ optional int32 max_bandwidth_estimate_bytes_per_second = 5;
+ // Timestamp (seconds since UNIX epoch) that indicates when the max bandwidth
+ // was seen by the server.
+ optional int64 max_bandwidth_timestamp_seconds = 6;
+ // The min RTT seen on a previous connection can be used by the server to
+ // inform initial connection parameters for new connections.
+ optional int32 min_rtt_ms = 3;
+ // Encodes the PreviousConnectionState enum.
+ optional int32 previous_connection_state = 4;
+ // UNIX timestamp when this bandwidth estimate was created.
+ optional int64 timestamp = 7;
+};