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 as u32
;
- Strings and bytes are encoded as length(u32
) + content, same as [sshbuf_put_string
];
- Option::None
are omitted while Option::Some(v)
has the same encoding as v
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;
- Serializing/Deserializing map is unsupported;
- Serializing/Deserializing variant is unsupported;
plain format like bincode that encodes the length of string as u32
in serde