Trait ssh_encoding::Decode
source · pub trait Decode: Sized {
type Error: From<Error>;
// Required method
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§
source§impl 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.
source§impl 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).
source§impl<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.
source§impl 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.
source§impl Decode for Bytes
Available on crate feature bytes
only.
impl Decode for Bytes
bytes
only.Decodes Bytes
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.
source§impl 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.