]> git.sesse.net Git - cubemap/blob - state.proto
Fix a problem where streams with paths exactly 7 characters long get broken buffering...
[cubemap] / state.proto
1 syntax = "proto2";
2
3 // Corresponds to struct Client.
4 message ClientProto {
5         optional int32 sock = 1;
6         optional string remote_addr = 8;
7         optional int64 connect_time_old = 9;  // Contains a time_t from time(). For versions prior to 1.1.3.
8         optional int64 connect_time_sec = 13;
9         optional int32 connect_time_nsec = 14;
10         optional int32 state = 2;
11         optional bytes request = 3;
12         optional string url = 4;
13         optional bytes header_or_short_response = 5;
14         optional int64 header_or_short_response_bytes_sent = 6;
15         optional int64 stream_pos = 7;
16         optional int64 bytes_sent = 10;
17         optional int64 bytes_lost = 11;
18         optional int64 num_loss_events = 12;
19         optional bytes referer = 15;
20         optional bytes user_agent = 16;
21 };
22
23 // Corresponds to struct Stream.
24 message StreamProto {
25         optional bytes http_header = 6;
26         optional bytes stream_header = 7;
27         repeated int32 data_fds = 8;
28         optional int64 backlog_size = 5 [default=10485760];
29         optional int64 prebuffering_bytes = 10 [default=0];
30         optional int64 bytes_received = 3;
31         repeated int64 suitable_starting_point = 9;
32         optional string url = 4;
33 };
34
35 // Corresponds to class Input.
36 message InputProto {
37         optional int32 state = 1;
38         optional string url = 3;
39         optional bytes request = 4;
40         optional int32 request_bytes_sent = 5;
41         optional bytes response = 6;
42         optional bytes http_header = 10;
43         optional bytes stream_header = 14;
44         optional bytes pending_data = 7;
45         optional bool has_metacube_header = 8;
46         optional int32 sock = 9;
47         optional int64 bytes_received = 11;
48         optional int64 data_bytes_received = 12;
49         optional int64 metadata_bytes_received = 16;
50         optional double latency_sec = 17;
51         optional int64 connect_time = 13;
52         optional bool is_metacube_encoded = 15 [default=true];
53 };
54
55 // Corresponds to class Acceptor.
56 message AcceptorProto {
57         optional int32 server_sock = 1;
58         optional int32 port = 2;
59         optional string addr = 3;  // As a string. Empty is equivalent to "::".
60 };
61
62 message CubemapStateProto {
63         optional int64 serialize_start_sec = 6;
64         optional int64 serialize_start_usec = 7;
65         repeated ClientProto clients = 1;
66         repeated StreamProto streams = 2;
67         repeated InputProto inputs = 5;
68         repeated AcceptorProto acceptors = 8;
69 };