QUICHE team | a6ef0a6 | 2019-03-07 20:34:33 -0500 | [diff] [blame] | 1 | // Copyright 2015 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 | syntax = "proto2"; |
| 6 | |
| 7 | option optimize_for = LITE_RUNTIME; |
| 8 | |
| 9 | package quic; |
| 10 | |
| 11 | // CachedNetworkParameters contains data that can be used to choose appropriate |
| 12 | // connection parameters (initial RTT, initial CWND, etc.) in new connections. |
| 13 | // Next id: 8 |
| 14 | message CachedNetworkParameters { |
| 15 | // Describes the state of the connection during which the supplied network |
| 16 | // parameters were calculated. |
| 17 | enum PreviousConnectionState { |
| 18 | SLOW_START = 0; |
| 19 | CONGESTION_AVOIDANCE = 1; |
| 20 | } |
| 21 | |
| 22 | // serving_region is used to decide whether or not the bandwidth estimate and |
| 23 | // min RTT are reasonable and if they should be used. |
| 24 | // For example a group of geographically close servers may share the same |
| 25 | // serving_region string if they are expected to have similar network |
| 26 | // performance. |
| 27 | optional string serving_region = 1; |
| 28 | // The server can supply a bandwidth estimate (in bytes/s) which it may re-use |
| 29 | // on receipt of a source-address token with this field set. |
| 30 | optional int32 bandwidth_estimate_bytes_per_second = 2; |
| 31 | // The maximum bandwidth seen to the client, not necessarily the latest. |
| 32 | optional int32 max_bandwidth_estimate_bytes_per_second = 5; |
| 33 | // Timestamp (seconds since UNIX epoch) that indicates when the max bandwidth |
| 34 | // was seen by the server. |
| 35 | optional int64 max_bandwidth_timestamp_seconds = 6; |
| 36 | // The min RTT seen on a previous connection can be used by the server to |
| 37 | // inform initial connection parameters for new connections. |
| 38 | optional int32 min_rtt_ms = 3; |
| 39 | // Encodes the PreviousConnectionState enum. |
| 40 | optional int32 previous_connection_state = 4; |
| 41 | // UNIX timestamp when this bandwidth estimate was created. |
| 42 | optional int64 timestamp = 7; |
| 43 | }; |