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:
parent
ed0373ade4
commit
52913a1d55
22
doc/SocketProtocol.txt
Normal file
22
doc/SocketProtocol.txt
Normal 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
|
Loading…
Reference in New Issue
Block a user