Trait ssh_encoding::Decode
source · [−]pub trait Decode: Sized {
type Error: From<Error>;
fn decode(reader: &mut impl Reader) -> Result<Self, Self::Error>;
}Expand description
Decoding trait.
This trait describes how to decode a given type.
Required Associated Types
Required Methods
Implementations on Foreign Types
sourceimpl Decode for u32
impl Decode for u32
Decode a uint32 as described in RFC4251 § 5:
Represents a 32-bit unsigned integer. Stored as four bytes in the order of decreasing significance (network byte order). For example: the value 699921578 (0x29b7f4aa) is stored as 29 b7 f4 aa.
sourceimpl Decode for u64
impl Decode for u64
Decode a uint64 as described in RFC4251 § 5:
Represents a 64-bit unsigned integer. Stored as eight bytes in the order of decreasing significance (network byte order).
sourceimpl Decode for usize
impl Decode for usize
Decode a usize.
Uses Decode impl on u32 and then converts to a usize, handling
potential overflow if usize is smaller than u32.
Enforces a library-internal limit of 1048575, as the main use case for
usize is length prefixes.
sourceimpl<const N: usize> Decode for [u8; N]
impl<const N: usize> Decode for [u8; N]
Decodes a byte array from byte[n] as described in RFC4251 § 5:
A byte represents an arbitrary 8-bit value (octet). Fixed length data is sometimes represented as an array of bytes, written
byte[n], where n is the number of bytes in the array.
sourceimpl Decode for Vec<u8>
Available on crate feature alloc only.
impl Decode for Vec<u8>
alloc only.Decodes Vec<u8> from byte[n] as described in RFC4251 § 5:
A byte represents an arbitrary 8-bit value (octet). Fixed length data is sometimes represented as an array of bytes, written
byte[n], where n is the number of bytes in the array.