1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
struct SendEventArgs {
id: u32,
force: bool,
num: u32
}
struct DivArgs {
divisor: f64,
divident: f64,
}
union CommandArgs {
div: DivArgs,
send: SendEventArgs,
}
struct MsgCommand {
id: u32,
args: CommandArgs,
}
union ResponseData {
quotient: f64,
}
struct MsgResponse {
id: u32,
result: i32,
data: ResponseData,
}
struct MsgEvent {
id: u32,
nr: u32,
}
group RPC {
c2s {
command: [MsgCommand;0;true],
}
s2c {
response: [MsgResponse;0;true],
event: [MsgEvent;10; true],
}
}