Struct rmp_serde::decode::Deserializer
[−]
[src]
pub struct Deserializer<R: Read> { /* fields omitted */ }
Note
All instances of ErrorKind::Interrupted
are handled by this function and the underlying
operation is retried.
Methods
impl<R: Read> Deserializer<R>
[src]
fn new(rd: R) -> Deserializer<R>
fn set_max_depth(&mut self, depth: usize)
Changes the maximum nesting depth that is allowed
fn get_ref(&self) -> &R
Gets a reference to the underlying reader in this decoder.
fn get_mut(&mut self) -> &mut R
Gets a mutable reference to the underlying reader in this decoder.
fn into_inner(self) -> R
Consumes this decoder returning the underlying reader.
Trait Implementations
impl<R: Read> Deserializer for Deserializer<R>
[src]
Unstable: docs; examples; incomplete
type Error = Error
The error type that can be returned if some error occurs during deserialization.
fn deserialize<V>(&mut self, visitor: V) -> Result<V::Value> where V: Visitor
This method walks a visitor through a value as it is being deserialized.
fn deserialize_option<V>(&mut self, visitor: V) -> Result<V::Value> where V: Visitor
We treat Value::Null as None.
Note
Without using explicit option marker it's impossible to properly deserialize the following
specific cases:
- Option<()>
.
- nested optionals, like Option<Option<...>>
.
fn deserialize_enum<V>(&mut self, _enum: &str, _variants: &[&str], visitor: V) -> Result<V::Value> where V: EnumVisitor
This method hints that the Deserialize
type is expecting an enum value. This allows deserializers that provide a custom enumeration serialization to properly deserialize the type. Read more
fn deserialize_bool<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a bool
value.
fn deserialize_usize<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an usize
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u8<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u8
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u16<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u16
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u32<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u32
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u64<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u64
value.
fn deserialize_isize<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an isize
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i8<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i8
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i16<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i16
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i32<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i32
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i64<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i64
value.
fn deserialize_f32<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a f32
value. A reasonable default is to forward to deserialize_f64
. Read more
fn deserialize_f64<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a f64
value.
fn deserialize_char<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a char
value.
fn deserialize_str<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a &str
value.
fn deserialize_string<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a String
value.
fn deserialize_unit<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an unit
value.
fn deserialize_seq<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a sequence value. This allows deserializers to parse sequences that aren't tagged as sequences. Read more
fn deserialize_seq_fixed_size<__V>(&mut self, _: usize, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a fixed size array. This allows deserializers to parse arrays that aren't tagged as arrays. Read more
fn deserialize_bytes<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a Vec<u8>
. This allows deserializers that provide a custom byte vector serialization to properly deserialize the type. Read more
fn deserialize_map<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a map of values. This allows deserializers to parse sequences that aren't tagged as maps. Read more
fn deserialize_unit_struct<__V>(&mut self, _: &'static str, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a unit struct. This allows deserializers to a unit struct that aren't tagged as a unit struct. Read more
fn deserialize_newtype_struct<__V>(&mut self, _: &'static str, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a newtype struct. This allows deserializers to a newtype struct that aren't tagged as a newtype struct. A reasonable default is to simply deserialize the expected value directly. Read more
fn deserialize_tuple_struct<__V>(&mut self, _: &'static str, _: usize, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a tuple struct. This allows deserializers to parse sequences that aren't tagged as sequences. Read more
fn deserialize_struct<__V>(&mut self, _: &'static str, _: &'static [&'static str], visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a struct. This allows deserializers to parse sequences that aren't tagged as maps. Read more
fn deserialize_struct_field<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting some sort of struct field name. This allows deserializers to choose between &str, usize, or &[u8] to properly deserialize a struct field. Read more
fn deserialize_tuple<__V>(&mut self, _: usize, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a tuple value. This allows deserializers that provide a custom tuple serialization to properly deserialize the type. Read more
fn deserialize_ignored_any<__V>(&mut self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type needs to deserialize a value whose type doesn't matter because it is ignored. Read more