Trait MsgUnpack

Source
pub trait MsgUnpack<'buf> {
    // Required method
    fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
       where Self: Sized;
}
Expand description

Trait for deserializing a type using msgpack.

Required Methods§

Source

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Unpack a value from a msgpack bytes slice

use msgpck::MsgUnpack;
let encoded = [0x93, 0xCC, 0xDD, 0xCC, 0xEE, 3];
let decoded: Vec<u8> = Vec::unpack(&mut &encoded[..]).unwrap();
assert_eq!(decoded, &[0xDDu8, 0xEE, 3]);

Implementations on Foreign Types§

Source§

impl<'buf> MsgUnpack<'buf> for &'buf str

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for &'buf [u8]

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for bool

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for f32

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for f64

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for i8

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for i16

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for i32

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for i64

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for isize

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for u8

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for u16

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for u32

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf> MsgUnpack<'buf> for u64

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Source§

impl<'buf, T: MsgUnpack<'buf>> MsgUnpack<'buf> for Option<T>

Source§

fn unpack(bytes: &mut &'buf [u8]) -> Result<Self, UnpackErr>
where Self: Sized,

Unpack the Option from msgpack bytes.

Note that Option<Option<T>> will never unpack into Some(None) because of how Optionals are represented in msgpack.

Implementors§