X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=state.proto;h=e9a4f13293c617b09e21b923cca4d6eecae816d6;hp=cd172535ad315a484f3459d9a932a25f396be2a1;hb=061988af511f42da3cd584b4d983177504ddc177;hpb=f2530dbb8415f9e7cc0f2d4b45741120c95e8a05 diff --git a/state.proto b/state.proto index cd17253..e9a4f13 100644 --- a/state.proto +++ b/state.proto @@ -1,17 +1,27 @@ +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. @@ -19,17 +29,11 @@ message StreamProto { 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. @@ -46,7 +50,10 @@ message InputProto { 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. @@ -54,6 +61,13 @@ message AcceptorProto { 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 { @@ -63,4 +77,5 @@ message CubemapStateProto { repeated StreamProto streams = 2; repeated InputProto inputs = 5; repeated AcceptorProto acceptors = 8; + repeated ShortResponsePool short_response_pool = 9; };