]> git.sesse.net Git - cubemap/blob - state.proto
Support joining multicast addresses (both ASM and SSM).
[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 = 9;
6         optional int32 state = 2;
7         optional bytes request = 3;
8         optional string url = 4;
9         optional bytes header_or_error = 5;
10         optional int64 header_or_error_bytes_sent = 6;
11         optional int64 stream_pos = 7;
12         optional int64 bytes_sent = 10;
13         optional int64 bytes_lost = 11;
14         optional int64 num_loss_events = 12;
15 };
16
17 // Corresponds to struct Stream.
18 message StreamProto {
19         optional bytes http_header = 6;
20         optional bytes stream_header = 7;
21         repeated int32 data_fds = 8;
22         optional int64 backlog_size = 5 [default=1048576];
23         optional int64 bytes_received = 3;
24         optional int64 last_suitable_starting_point = 9;
25         optional string url = 4;
26 };
27
28 // Corresponds to class Input.
29 message InputProto {
30         optional int32 state = 1;
31         optional string url = 3;
32         optional bytes request = 4;
33         optional int32 request_bytes_sent = 5;
34         optional bytes response = 6;
35         optional bytes http_header = 10;
36         optional bytes stream_header = 14;
37         optional bytes pending_data = 7;
38         optional bool has_metacube_header = 8;
39         optional int32 sock = 9;
40         optional int64 bytes_received = 11;
41         optional int64 data_bytes_received = 12;
42         optional int64 connect_time = 13;
43 };
44
45 // Corresponds to class Acceptor.
46 message AcceptorProto {
47         optional int32 server_sock = 1;
48         optional int32 port = 2;
49         optional string addr = 3;  // As a string. Empty is equivalent to "::".
50 };
51
52 message CubemapStateProto {
53         optional int64 serialize_start_sec = 6;
54         optional int64 serialize_start_usec = 7;
55         repeated ClientProto clients = 1;
56         repeated StreamProto streams = 2;
57         repeated InputProto inputs = 5;
58         repeated AcceptorProto acceptors = 8;
59 };