X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=state.proto;h=28ec66a0f96d5827792c6536f16d80837cb648b9;hp=7643bbf53703c95a9938f6e5b18d36f24d774c20;hb=980ac162414c9fce62af4fdb9cfc282865b31572;hpb=019d476c729a6c1b6ac001e345d44339ba423221 diff --git a/state.proto b/state.proto index 7643bbf..28ec66a 100644 --- a/state.proto +++ b/state.proto @@ -9,7 +9,8 @@ message ClientProto { optional int32 state = 2; optional bytes request = 3; optional string url = 4; - optional bytes header_or_short_response = 5; + 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]; @@ -21,6 +22,16 @@ message ClientProto { 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; + optional bytes x_playback_session_id = 22; + optional bool close_after_response = 23 [default=true]; + optional bool http_11 = 24 [default=false]; +}; + +// Corresponds to struct Stream::FragmentStart. +message FragmentStartProto { + optional int64 byte_position = 1; + optional double pts = 2; + optional bool begins_header = 3 [default=false]; }; // Corresponds to struct Stream. @@ -32,6 +43,9 @@ message StreamProto { // Tag 10 is unused from 1.4.0 up (it used to be prebuffering_bytes). optional int64 bytes_received = 3; repeated int64 suitable_starting_point = 9; + repeated FragmentStartProto fragment = 11; + optional int64 first_fragment_index = 12; + optional int64 discontinuity_counter = 13; optional string url = 4; }; @@ -64,6 +78,21 @@ message AcceptorProto { optional bytes private_key = 5; }; +// For deduplicating strings in header_or_short_response. +message ShortResponsePool { + optional bytes header_or_short_response = 1; +}; + +message HLSZombieProto { + optional bytes key = 1; + optional bytes remote_addr = 2; + optional bytes url = 3; + optional bytes referer = 4; + optional bytes user_agent = 5; + optional int64 expires_sec = 6; + optional int64 expires_nsec = 7; +}; + message CubemapStateProto { optional int64 serialize_start_sec = 6; optional int64 serialize_start_usec = 7; @@ -71,4 +100,6 @@ message CubemapStateProto { repeated StreamProto streams = 2; repeated InputProto inputs = 5; repeated AcceptorProto acceptors = 8; + repeated ShortResponsePool short_response_pool = 9; + repeated HLSZombieProto hls_zombies = 10; };