3 // Corresponds to struct Client.
5 optional int32 sock = 1;
6 optional string remote_addr = 8;
7 optional int64 connect_time_sec = 13;
8 optional int32 connect_time_nsec = 14;
9 optional int32 state = 2;
10 optional bytes request = 3;
11 optional string url = 4;
12 optional bytes header_or_short_response_old = 5; // Only for pre-1.4.0 servers. Use header_or_short_response_index instead.
13 optional int64 header_or_short_response_index = 21; // Index into CubemapStateProto.short_response_pool.
14 optional int64 header_or_short_response_bytes_sent = 6;
15 optional int64 stream_pos = 7;
16 optional int64 stream_pos_end = 20 [default=-1];
17 optional int64 bytes_sent = 10;
18 optional int64 bytes_lost = 11;
19 optional int64 num_loss_events = 12;
20 optional bytes referer = 15;
21 optional bytes user_agent = 16;
22 optional bytes tls_context = 17; // If not present, then not using TLS for this client.
23 optional int64 tls_output_bytes_already_consumed = 18;
24 optional bool in_ktls_mode = 19;
25 optional bytes x_playback_session_id = 22;
26 optional bool close_after_response = 23 [default=true];
27 optional bool http_11 = 24 [default=false];
30 // Corresponds to struct Stream::FragmentStart.
31 message FragmentStartProto {
32 optional int64 byte_position = 1;
33 optional double pts = 2;
34 optional bool begins_header = 3 [default=false];
37 // Corresponds to struct Stream.
39 optional bool unavailable = 14 [default=false];
40 optional bytes http_header = 6;
41 optional bytes stream_header = 7;
42 repeated int32 data_fds = 8;
43 optional int64 backlog_size = 5 [default=10485760];
44 // Tag 10 is unused from 1.4.0 up (it used to be prebuffering_bytes).
45 optional int64 bytes_received = 3;
46 repeated int64 suitable_starting_point = 9;
47 repeated FragmentStartProto fragment = 11;
48 optional int64 first_fragment_index = 12;
49 optional int64 discontinuity_counter = 13;
50 optional string url = 4;
53 // Corresponds to class Input.
55 optional int32 state = 1;
56 optional string url = 3;
57 optional bytes request = 4;
58 optional int32 request_bytes_sent = 5;
59 optional bytes response = 6;
60 optional bytes http_header = 10;
61 optional bytes stream_header = 14;
62 optional bytes pending_data = 7;
63 optional bool has_metacube_header = 8;
64 optional int32 sock = 9;
65 optional int64 child_pid = 18 [default=-1];
66 optional int64 bytes_received = 11;
67 optional int64 data_bytes_received = 12;
68 optional int64 metadata_bytes_received = 16;
69 optional double latency_sec = 17;
70 optional int64 connect_time = 13;
71 optional bool is_metacube_encoded = 15 [default=true];
74 // Corresponds to class Acceptor.
75 message AcceptorProto {
76 optional int32 server_sock = 1;
77 optional int32 port = 2;
78 optional string addr = 3; // As a string. Empty is equivalent to "::".
79 optional bytes certificate_chain = 4;
80 optional bytes private_key = 5;
83 // For deduplicating strings in header_or_short_response.
84 message ShortResponsePool {
85 optional bytes header_or_short_response = 1;
88 message HLSZombieProto {
89 optional bytes key = 1;
90 optional bytes remote_addr = 2;
91 optional bytes url = 3;
92 optional bytes referer = 4;
93 optional bytes user_agent = 5;
94 optional int64 expires_sec = 6;
95 optional int64 expires_nsec = 7;
98 message CubemapStateProto {
99 optional int64 serialize_start_sec = 6;
100 optional int64 serialize_start_usec = 7;
101 repeated ClientProto clients = 1;
102 repeated StreamProto streams = 2;
103 repeated InputProto inputs = 5;
104 repeated AcceptorProto acceptors = 8;
105 repeated ShortResponsePool short_response_pool = 9;
106 repeated HLSZombieProto hls_zombies = 10;