| // 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; | |
| import "quiche/quic/core/proto/cached_network_parameters.proto"; | |
| package quic; | |
| // A SourceAddressToken is serialised, encrypted and sent to clients so that | |
| // they can prove ownership of an IP address. | |
| message SourceAddressToken { | |
| // ip contains either 4 (IPv4) or 16 (IPv6) bytes of IP address in network | |
| // byte order. | |
| required bytes ip = 1; | |
| // timestamp contains a UNIX timestamp value of the time when the token was | |
| // created. | |
| required int64 timestamp = 2; | |
| // The server can provide estimated network parameters to be used for | |
| // initial parameter selection in future connections. | |
| optional CachedNetworkParameters cached_network_parameters = 3; | |
| }; | |
| // SourceAddressTokens are simply lists of SourceAddressToken messages. | |
| message SourceAddressTokens { | |
| // This field has id 4 to avoid ambiguity between the serialized form of | |
| // SourceAddressToken vs SourceAddressTokens. | |
| repeated SourceAddressToken tokens = 4; | |
| }; |