Crate ssh_format
source ·Expand description
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;
§Feature
is_human_readable
enablesSerializer::is_human_readable
andDeserializer::is_human_readable
.
Structs§
- Serialize and deserialize types using the same buffer.
Enums§
Traits§
- A trait for which can be used to store serialized output.
Functions§
- Return a deserialized value and trailing bytes.
- Return a byte array with the first 4 bytes representing the size of the rest of the serialized message.