Skip to content

Latest commit

 

History

History
59 lines (49 loc) · 1.41 KB

specification.md

File metadata and controls

59 lines (49 loc) · 1.41 KB

Loco protocol specification

Endianness: little

Command

name size
header (Header) 18 bytes
data_size 4 bytes
data data_size

Header

name size
id 4 bytes
status 2 bytes
name 11 bytes
data_type 1 bytes

Secure data

name size
header (Header) 20 bytes
encrypted data header.size - 16

Header

name size
size 4 bytes
iv 16 bytes

Handshake

name size
key size 4 bytes
key_encrypt_type 4 bytes
encrypt_type 4 bytes
key 256 bytes

Networking

Command

Stream: Command #0 | Response command #0 | Broadcast command #1

Client -> Command #0
Server <- Command #0
Server -> Response command #0
Client <- Response command #0
Server -> Broadcast command #1
Client <- Broadcast command #1

Command is likely unordered. To match response and request, use header id.

Secure data

Stream: Handshake | Secure data #0 | Secure data #1

Client -> Handshake
Client -> Secure data #0
Server <- Secure data #0
Server -> Secure data #1
Client <- Secure data #1