X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=state.proto;h=9799c0d29e9bb4d7c65aa0b0be5e3ee16eb0deea;hp=3d8ea9933756e0820dfc8419d80a8815f7f1d7c4;hb=029aca758029094d6e9d59e8d88babce94c412e4;hpb=9b565a9e6e66f076abb7266b2c2f015f585fa9cb diff --git a/state.proto b/state.proto index 3d8ea99..9799c0d 100644 --- a/state.proto +++ b/state.proto @@ -1,40 +1,68 @@ +syntax = "proto2"; + // Corresponds to struct Client. message ClientProto { optional int32 sock = 1; + optional string remote_addr = 8; + optional int64 connect_time_sec = 13; + optional int32 connect_time_nsec = 14; optional int32 state = 2; optional bytes request = 3; - optional string stream_id = 4; - optional bytes header_or_error = 5; - optional int64 header_or_error_bytes_sent = 6; - optional int64 bytes_sent = 7; + optional string url = 4; + optional bytes header_or_short_response = 5; + optional int64 header_or_short_response_bytes_sent = 6; + optional int64 stream_pos = 7; + 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; }; // Corresponds to struct Stream. message StreamProto { - optional bytes header = 1; - optional bytes data = 2; - optional int64 data_size = 3; - optional string stream_id = 4; + optional bytes http_header = 6; + optional bytes stream_header = 7; + repeated int32 data_fds = 8; + optional int64 backlog_size = 5 [default=10485760]; + optional int64 prebuffering_bytes = 10 [default=0]; + optional int64 bytes_received = 3; + repeated int64 suitable_starting_point = 9; + optional string url = 4; }; // Corresponds to class Input. message InputProto { optional int32 state = 1; - optional string stream_id = 2; optional string url = 3; optional bytes request = 4; optional int32 request_bytes_sent = 5; optional bytes response = 6; optional bytes http_header = 10; + optional bytes stream_header = 14; optional bytes pending_data = 7; optional bool has_metacube_header = 8; 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. +message AcceptorProto { + optional int32 server_sock = 1; + optional int32 port = 2; + optional string addr = 3; // As a string. Empty is equivalent to "::". }; message CubemapStateProto { + optional int64 serialize_start_sec = 6; + optional int64 serialize_start_usec = 7; repeated ClientProto clients = 1; repeated StreamProto streams = 2; repeated InputProto inputs = 5; - optional int32 server_sock = 3; - optional int32 port = 4; + repeated AcceptorProto acceptors = 8; };