File: probe_message.proto

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (48 lines) | stat: -rw-r--r-- 1,406 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This protocol buffer defines the message format between the probe clients
// and the probe servers.

syntax = "proto2";

package chrome_browser_net;

// Chrome requires this.
option optimize_for = LITE_RUNTIME;

// Next available id: 10.
message ProbePacket {
  enum Type {
    UNKNOWN = 0;
    HELLO_REQUEST = 1;
    HELLO_REPLY = 2;
    PROBE_REQUEST = 3;
    PROBE_REPLY = 4;
  }

  message Header {
    required uint32 version = 1;
    optional uint32 checksum = 2;
    optional Type type = 3;
  }

  message Token {
    required uint64 timestamp_micros = 1;
    required bytes hash = 2;  // 16-byte MD5 hash value for authorization.
  }

  optional Header header = 1;
  optional Token token = 2;              // For authorization.
  // For differentiating different batches of packets.
  optional uint32 group_id = 3;
  optional uint32 packet_index = 4;      // Packet index in each batch.
  optional uint32 probe_size_bytes = 5;  // Specify the probe packet size.
  // Time duration between sending two consecutive packets.
  optional uint32 pacing_interval_micros = 6;
  // Total number of probe packets to send from the server.
  optional uint32 number_probe_packets = 7;
  optional int64 server_processing_micros = 9;
  optional bytes padding = 8;
}