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, Eos};
use bytecodec::json_codec::JsonDecoder;
use serde_json::Value;

let mut decoder = JsonDecoder::<Value>::new();

decoder.decode(b"[1, 2", Eos::new(false)).unwrap();
let (_, item) = decoder.decode(b", 3]", Eos::new(true)).unwrap();
let json = item.unwrap();

assert_eq!(json.to_string(), "[1,2,3]");

Methods

impl<T> JsonDecoder<T> where
    T: for<'de> Deserialize<'de>, 
[src]

[src]

Makes a new JsonDecoder instance.

Trait Implementations

impl<T: Debug> Debug for JsonDecoder<T>
[src]

[src]

Formats the value using the given formatter. Read more

impl<T> Decode for JsonDecoder<T> where
    T: for<'de> Deserialize<'de>, 
[src]

The type of items to be decoded.

[src]

Consumes the given buffer (a part of a byte sequence), and decodes an item from it. Read more

[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]

[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl<T> Send for JsonDecoder<T> where
    T: Send

impl<T> Sync for JsonDecoder<T> where
    T: Sync