Trait netidx_core::pack::Pack

source ·
pub trait Pack {
    // Required methods
    fn encoded_len(&self) -> usize;
    fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>;
    fn decode(buf: &mut impl Buf) -> Result<Self, PackError>
       where Self: Sized;

    // Provided methods
    fn const_encoded_len() -> Option<usize> { ... }
    fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>
       where Self: Sized { ... }
}

Required Methods§

source

fn encoded_len(&self) -> usize

source

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>
where Self: Sized,

Provided Methods§

source

fn const_encoded_len() -> Option<usize>

source

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>
where Self: Sized,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Pack for SocketAddr

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for bool

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for f32

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for f64

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for i8

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for i16

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for i32

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for i64

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for i128

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for u8

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for u16

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for u32

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for u64

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for u128

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for ()

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, _buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(_buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for usize

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for String

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Arc<str>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Duration

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Error

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for ArcStr

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Bytes

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for DateTime<Utc>

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Duration

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for NaiveDate

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for NaiveDateTime

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for CompactString

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Decimal

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl Pack for Uuid

source§

fn const_encoded_len() -> Option<usize>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<A> Pack for SmallVec<A>
where A: Array, <A as Array>::Item: Pack,

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<K, R> Pack for HashSet<K, R>
where K: Pack + Hash + Eq, R: Default + BuildHasher,

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<K, R> Pack for IndexSet<K, R>
where K: Pack + Hash + Eq, R: Default + BuildHasher,

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<K, V, R> Pack for HashMap<K, V, R>
where K: Pack + Hash + Eq, V: Pack, R: Default + BuildHasher,

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<K, V, R> Pack for IndexMap<K, V, R>
where K: Pack + Hash + Eq, V: Pack, R: Default + BuildHasher,

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<K: Ord + Pack> Pack for BTreeSet<K>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<K: Ord + Pack, V: Pack> Pack for BTreeMap<K, V>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<T> Pack for BitFlags<T>
where T: BitFlag, <T as RawBitFlags>::Numeric: Pack,

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack> Pack for Bound<T>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack> Pack for Option<T>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack> Pack for Box<T>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack> Pack for VecDeque<T>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<T: Pack> Pack for Arc<T>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack> Pack for Vec<T>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<T: Pack, U: Pack> Pack for Result<T, U>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack, U: Pack> Pack for (T, U)

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack, U: Pack, V: Pack> Pack for (T, U, V)

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack, U: Pack, V: Pack, W: Pack> Pack for (T, U, V, W)

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

impl<T: Pack, const C: usize> Pack for ArrayVec<T, C>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<T: Pack, const S: usize> Pack for [T; S]

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

source§

fn decode_into(&mut self, buf: &mut impl Buf) -> Result<(), PackError>

source§

impl<const C: usize> Pack for ArrayString<C>

source§

fn encoded_len(&self) -> usize

source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), PackError>

source§

fn decode(buf: &mut impl Buf) -> Result<Self, PackError>

Implementors§

source§

impl Pack for Chars

source§

impl Pack for Path

source§

impl Pack for Z64

source§

impl<T: Pack + Any + Send + Sync + Poolable> Pack for Pooled<T>

source§

impl<const L: usize> Pack for BoundedBytes<L>