blob: e7c24e16e5b999bcf2ea50efe2f23e28c64da3ca (
plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
meta:
id: solec
file-extension: hex
endian: be
doc: |
SOLEC protocol uses big endian encoding. Frames uses type-length-value format.
doc-ref: https://git.sr.ht/~rctt/solec/blob/main/solec.svg
seq:
- id: type_payload
type: u1
enum: type
- id: len_payload
type: u2
- id: payload
size: len_payload
type:
switch-on: type_payload
cases:
'type::handshake': handshake
'type::ping': ping
'type::pong': pong
'type::message': message
'type::test': test
enums:
type:
0x01: handshake
0x02: ping
0x03: pong
0x04: message
0xFF: test
types:
string:
doc: UTF-8 encoded string.
seq:
- id: len_payload
type: u2
- id: payload
type: str
size: len_payload
encoding: UTF-8
binary:
doc: Binary data of unspecifed type.
seq:
- id: len_payload
type: u2
- id: payload
size: len_payload
handshake:
doc: |
Handshake is sent by the client during connection initialization.
If protocol_ver_major is different than version used by the server
connection will be aborted.
seq:
- id: proto_ver_major
type: u1
- id: proto_ver_minor
type: u1
ping:
doc: Ping does not contain any payload.
pong:
seq:
- id: timestamp
doc: |
Timestamp is set just before sending the pong message. It can be used
to meassure packet's travel time between server and client.
type: u8
message:
doc: |
Source and target fields are addresses in user@server format.
seq:
- id: source
type: string
- id: target
type: string
- id: timestamp
doc: Set just before sending the message.
type: u8
- id: content
type: string
test:
doc: Test payload, used for parsers testing
seq:
- id: num1
type: u1
- id: time1
type: u8
- id: str1
type: string
- id: num2
type: u2
- id: bin1
type: binary
- id: num3
type: u4
- id: str2
type: string
- id: num4
type: u8
|