2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-22 09:32:21 +00:00

Document the socketprotocol design

This commit is contained in:
Jarrod Johnson 2013-10-12 11:12:47 -04:00
parent ed0373ade4
commit 52913a1d55

22
doc/SocketProtocol.txt Normal file
View File

@ -0,0 +1,22 @@
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