Data format used to communicate with openssh mux server.
Format details:
- All integers are encoded in big endian;
- Boolean are encoded as
u32according to here; charare encoded asu32;- Strings and bytes are encoded as length(
u32) + content, same assshbuf_put_string; Option::Noneare omitted whileOption::Some(v)has the same encoding asvsince 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 implementSerializeandDeserializeto ensure thevariant_indexis the one you expected); - Serializing/Deserializing map is unsupported;
is_human_readableenablesSerializer::is_human_readableandDeserializer::is_human_readable.