+syntax = "proto2";
+
// Corresponds to struct Client.
message ClientProto {
optional int32 sock = 1;
optional string remote_addr = 8;
- optional int64 connect_time = 9;
+ optional int64 connect_time_sec = 13;
+ optional int32 connect_time_nsec = 14;
optional int32 state = 2;
optional bytes request = 3;
optional string url = 4;
- optional bytes header_or_error = 5;
- optional int64 header_or_error_bytes_sent = 6;
+ optional bytes header_or_short_response_old = 5; // Only for pre-1.4.0 servers. Use header_or_short_response_index instead.
+ optional int64 header_or_short_response_index = 21; // Index into CubemapStateProto.short_response_pool.
+ optional int64 header_or_short_response_bytes_sent = 6;
optional int64 stream_pos = 7;
+ optional int64 stream_pos_end = 20 [default=-1];
optional int64 bytes_sent = 10;
optional int64 bytes_lost = 11;
optional int64 num_loss_events = 12;
+ optional bytes referer = 15;
+ optional bytes user_agent = 16;
+ optional bytes tls_context = 17; // If not present, then not using TLS for this client.
+ optional int64 tls_output_bytes_already_consumed = 18;
+ optional bool in_ktls_mode = 19;
};
// Corresponds to struct Stream.
optional bytes http_header = 6;
optional bytes stream_header = 7;
repeated int32 data_fds = 8;
- optional int64 backlog_size = 5 [default=1048576];
+ optional int64 backlog_size = 5 [default=10485760];
+ // Tag 10 is unused from 1.4.0 up (it used to be prebuffering_bytes).
optional int64 bytes_received = 3;
- optional int64 last_suitable_starting_point = 9;
+ repeated int64 suitable_starting_point = 9;
optional string url = 4;
-
- // Older versions stored the HTTP and video headers together in this field.
- optional bytes header = 1;
-
- // Older versions stored the data in the protobuf instead of sending file
- // descriptors around.
- optional bytes data = 2;
};
// Corresponds to class Input.
optional int32 sock = 9;
optional int64 bytes_received = 11;
optional int64 data_bytes_received = 12;
+ optional int64 metadata_bytes_received = 16;
+ optional double latency_sec = 17;
optional int64 connect_time = 13;
+ optional bool is_metacube_encoded = 15 [default=true];
};
// Corresponds to class Acceptor.
optional int32 server_sock = 1;
optional int32 port = 2;
optional string addr = 3; // As a string. Empty is equivalent to "::".
+ optional bytes certificate_chain = 4;
+ optional bytes private_key = 5;
+};
+
+// For deduplicating strings in header_or_short_response.
+message ShortResponsePool {
+ optional bytes header_or_short_response = 1;
};
message CubemapStateProto {
repeated StreamProto streams = 2;
repeated InputProto inputs = 5;
repeated AcceptorProto acceptors = 8;
+ repeated ShortResponsePool short_response_pool = 9;
};