]> git.sesse.net Git - cubemap/blob - state.proto
Split HTTP header parsing into a common function.
[cubemap] / state.proto
1 // Corresponds to struct Client.
2 message ClientProto {
3         optional int32 sock = 1;
4         optional string remote_addr = 8;
5         optional int64 connect_time_old = 9;  // Contains a time_t from time(). For versions prior to 1.1.3.
6         optional int64 connect_time_sec = 13;
7         optional int32 connect_time_nsec = 14;
8         optional int32 state = 2;
9         optional bytes request = 3;
10         optional string url = 4;
11         optional bytes header_or_error = 5;
12         optional int64 header_or_error_bytes_sent = 6;
13         optional int64 stream_pos = 7;
14         optional int64 bytes_sent = 10;
15         optional int64 bytes_lost = 11;
16         optional int64 num_loss_events = 12;
17 };
18
19 // Corresponds to struct Stream.
20 message StreamProto {
21         optional bytes http_header = 6;
22         optional bytes stream_header = 7;
23         repeated int32 data_fds = 8;
24         optional int64 backlog_size = 5 [default=10485760];
25         optional int64 prebuffering_bytes = 10 [default=0];
26         optional int64 bytes_received = 3;
27         optional int64 last_suitable_starting_point = 9;
28         optional string url = 4;
29 };
30
31 // Corresponds to class Input.
32 message InputProto {
33         optional int32 state = 1;
34         optional string url = 3;
35         optional bytes request = 4;
36         optional int32 request_bytes_sent = 5;
37         optional bytes response = 6;
38         optional bytes http_header = 10;
39         optional bytes stream_header = 14;
40         optional bytes pending_data = 7;
41         optional bool has_metacube_header = 8;
42         optional int32 sock = 9;
43         optional int64 bytes_received = 11;
44         optional int64 data_bytes_received = 12;
45         optional int64 connect_time = 13;
46 };
47
48 // Corresponds to class Acceptor.
49 message AcceptorProto {
50         optional int32 server_sock = 1;
51         optional int32 port = 2;
52         optional string addr = 3;  // As a string. Empty is equivalent to "::".
53 };
54
55 message CubemapStateProto {
56         optional int64 serialize_start_sec = 6;
57         optional int64 serialize_start_usec = 7;
58         repeated ClientProto clients = 1;
59         repeated StreamProto streams = 2;
60         repeated InputProto inputs = 5;
61         repeated AcceptorProto acceptors = 8;
62 };