// 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 net; // 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; };