Struct bytecodec::json_codec::JsonDecoder
[−]
[src]
pub struct JsonDecoder<T>(_);
JSON decoder.
Note that this decodes items monolithically so very large items may impair real-time property of the system.
Examples
use bytecodec::{Decode, DecodeBuf}; use bytecodec::json_codec::JsonDecoder; use serde_json::Value; let mut decoder = JsonDecoder::<Value>::new(); decoder.decode(&mut DecodeBuf::new(b"[1, 2")).unwrap(); let json = decoder .decode(&mut DecodeBuf::new_as_eos(b", 3]")) .unwrap() .unwrap(); assert_eq!(json.to_string(), "[1,2,3]");
Methods
impl<T> JsonDecoder<T> where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
Trait Implementations
impl<T: Debug> Debug for JsonDecoder<T>[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl<T> Decode for JsonDecoder<T> where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
type Item = T
The type of items to be decoded.
fn decode(&mut self, buf: &mut DecodeBuf) -> Result<Option<Self::Item>>[src]
Consumes the given buffer (a part of a byte sequence), and decodes an item from it. Read more
fn has_terminated(&self) -> bool[src]
Returns true if the decoder cannot decode items anymore, otherwise false. Read more
fn is_idle(&self) -> bool[src]
Returns true if the decoder does not have an item that being decoded, otherwise false.
fn requiring_bytes_hint(&self) -> Option<u64>[src]
Returns the lower bound of the number of bytes needed to decode the next item. Read more
impl<T> Default for JsonDecoder<T> where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
Auto Trait Implementations
impl<T> Send for JsonDecoder<T> where
T: Send,
T: Send,
impl<T> Sync for JsonDecoder<T> where
T: Sync,
T: Sync,