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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Decode for u32
Decode a uint32
as described in RFC4251 § 5:
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.
Source§impl Decode for u64
Decode a uint64
as described in RFC4251 § 5:
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 Decode for usize
Decode a 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 Vec<u8>
Available on crate feature alloc
only.Decodes Vec<u8>
from byte[n]
as described in RFC4251 § 5:
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.Decodes Bytes
from byte[n]
as described in RFC4251 § 5:
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<const N: usize> Decode for [u8; N]
Decodes a byte array from byte[n]
as described in RFC4251 § 5:
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.