Data format used to communicate with openssh mux server.
Format details:
- All integers are encoded in big endian;
- Boolean are encoded as
u32
according to here; char
are encoded asu32
;- Strings and bytes are encoded as length(
u32
) + content, same assshbuf_put_string
; Option::None
are omitted whileOption::Some(v)
has the same encoding asv
since openssh mux protocol allows optional parameter at the end of the message;- struct/tuple are encoded as-is, unit struct/tuple are omitted;
- sequence are encoded as if it is a tuple according to here, thus it cannot be deserialized;
- Variant is encoded as index(
u32
) + content encoded as-is (it is expected to manually implementSerialize
andDeserialize
to ensure thevariant_index
is the one you expected); - Serializing/Deserializing map is unsupported;
is_human_readable
enablesSerializer::is_human_readable
andDeserializer::is_human_readable
.