-
Notifications
You must be signed in to change notification settings - Fork 0
/
framing_ircie
45 lines (38 loc) · 1.59 KB
/
framing_ircie
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
This document defines a transport format for IRCIE transport of Hyperbola
datagrams. Essentially, it allows controlled bridging of two Hyperbola
device spaces over IRC.
Hyperbola configuration commands, such as SET ADDRESS and SET UNDERLYING
COMMUNICATIONS PARAMETERS are barred from transiting IRCIE. Broadcast
packets are likewise typically barred from transit.
Payloadless broadcast IDENTIFY THYSELF commands are interpreted by the IRCIE
transport agent; the querier will see only responses from devices to which
the remote network has been granted access.
To conserve space, the IRCIE transport sheds the constant 0x55 header byte
and the payload length as these values may be reconstructed from the
transport.
The IRCIE transport allows payloads up to 32 bytes, counting the remaining
bits of the Hyperbola header (addresses and command byte, so payloads will
never be fewer than three bytes long).
Pairs of bytes are treated as 16-bit numbers (first byte most significant)
and T-encoded into 7 IRCIE symbols. If there are an odd number of bytes,
the last byte is T-encoded into 4 symbols. This message is then sent inside
an IRCIE message container (the reserved type tag is 6).
Including IRCIE framing, a 32-byte message will come to 126 bytes of IRC
message; a 20-byte one will come to 84 bytes; 19 to 81; etc. For example,
this is a 21-byte payload:
OO FRAME
OC_C metaL = 76
CC Type = 6
OCVB Len = 70
BBBOBCC \ Addresses
BBB_BOC h Command & 0th byte of subpayload
BBCCBVC y ...
BBCVB_C p
BBOBCBC e
BBOOCCC r
BBO_COC b
BBVCCVC o
BBVVC_C l
BB_BOBC a
BB_B / 17st byte of subpayload
O FRAME