Expand description
Binary framing for all vsock communication.
Frame format: [u32 BE length][u8 type][payload...]
Length = size of type byte + payload (excludes the 4-byte length prefix).
Max frame size: 1 MB.
Constants§
- ATTEST_
REQ - ATTEST_
RESP - CHMOD_
REQ - COPY_
REQ - DISCARD_
REQ - DISCARD_
RESP - DOWNLOAD_
PROGRESS - DOWNLOAD_
REQ - ERROR
- EXEC_
REQ - EXIT
- FS_
OK_ RESP - FWD_REQ
- FWD_
RESP - KILL
- MKDIR_
REQ - MOUNT_
REQ - MOUNT_
RESP - READ_
DIR_ REQ - READ_
DIR_ RESP - READ_
FILE_ REQ - READ_
FILE_ RESP - REMOVE_
REQ - RENAME_
REQ - RESIZE
- STAT_
REQ - STAT_
RESP - STDERR
- STDIN
- STDOUT
- WATCH_
EVENT - WATCH_
REQ - WRITE_
FILE_ DATA - WRITE_
FILE_ REQ - WRITE_
FILE_ RESP
Functions§
- exit_
payload - Build an EXIT payload:
[i32 BE code]. - parse_
exit_ code - Parse an EXIT payload into an i32 exit code.
- parse_
resize - Parse a RESIZE payload into (rows, cols).
- read_
frame - Read a binary frame. Returns
Noneon clean EOF,Erron protocol violations or I/O errors. - resize_
payload - Build a RESIZE payload:
[u16 BE rows][u16 BE cols]. - send_
json - Serialize
msgas JSON and send it as a typed frame. - try_
parse - Try to parse a complete frame from the front of
buf. ReturnsSome((msg_type, payload_start, total_len))if a full frame is available,Noneif more data is needed. - write_
frame - Write a binary frame:
[u32 BE length][u8 type][payload].