mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-22 09:32:21 +00:00
23 lines
674 B
Plaintext
23 lines
674 B
Plaintext
|
The socket protocol is intended for high performance at the expense of a
|
||
|
non-standardized approach. The thinking is that with http so well supported,
|
||
|
the socket protocol is empowered to do whatever is needed.
|
||
|
|
||
|
All data across the wire is TLV values.
|
||
|
|
||
|
(since a single character is an exceedingly common case, have a single byte TLV
|
||
|
for those occasions)
|
||
|
Single byte TL (msb: 0):
|
||
|
Type=0
|
||
|
Length=TL & 0b01111111
|
||
|
Types:
|
||
|
0: text string
|
||
|
|
||
|
(all other data has a 4 byte TLV for now)
|
||
|
Four byte TLs: (msb: 0b10)
|
||
|
Type=TL & 0b00111111000000000000000000000000 >> 24:
|
||
|
Length= TL & 0b111111111111111111111111
|
||
|
0: text string
|
||
|
1: json data
|
||
|
|
||
|
(msb: 0b11 is reserved), probably never to be needed
|