pub struct MsgPackWriter { /* private fields */ }Expand description
Low-level MessagePack writer.
Push individual values into an internal buffer, then call MsgPackWriter::into_bytes
to get the encoded byte slice.
§Example
use scirs2_io::formats::msgpack::{MsgPackWriter, MsgPackReader};
let mut w = MsgPackWriter::new();
w.write_map_header(1);
w.write_str("answer");
w.write_int(42);
let bytes = w.into_bytes();
let mut r = MsgPackReader::new(&bytes);
let value = r.read_value().expect("decode failed");Implementations§
Source§impl MsgPackWriter
impl MsgPackWriter
Sourcepub fn into_bytes(self) -> Vec<u8> ⓘ
pub fn into_bytes(self) -> Vec<u8> ⓘ
Consume the writer and return the encoded bytes.
Sourcepub fn write_bool(&mut self, v: bool)
pub fn write_bool(&mut self, v: bool)
Write a boolean value.
Sourcepub fn write_int(&mut self, v: i64)
pub fn write_int(&mut self, v: i64)
Write a signed integer using the smallest possible representation.
Sourcepub fn write_uint(&mut self, v: u64)
pub fn write_uint(&mut self, v: u64)
Write an unsigned integer using the smallest possible representation.
Sourcepub fn write_float(&mut self, v: f64)
pub fn write_float(&mut self, v: f64)
Write a 64-bit float (f64).
Sourcepub fn write_float32(&mut self, v: f32)
pub fn write_float32(&mut self, v: f32)
Write a 32-bit float (f32).
Sourcepub fn write_array_header(&mut self, n: usize)
pub fn write_array_header(&mut self, n: usize)
Write an array header. You must write exactly n elements after this call.
Sourcepub fn write_map_header(&mut self, n: usize)
pub fn write_map_header(&mut self, n: usize)
Write a map header. You must write exactly n key-value pairs after this call.
Sourcepub fn write_value(&mut self, value: &MsgPackValue)
pub fn write_value(&mut self, value: &MsgPackValue)
Recursively write a MsgPackValue.
Trait Implementations§
Source§impl Debug for MsgPackWriter
impl Debug for MsgPackWriter
Source§impl Default for MsgPackWriter
impl Default for MsgPackWriter
Source§fn default() -> MsgPackWriter
fn default() -> MsgPackWriter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MsgPackWriter
impl RefUnwindSafe for MsgPackWriter
impl Send for MsgPackWriter
impl Sync for MsgPackWriter
impl Unpin for MsgPackWriter
impl UnsafeUnpin for MsgPackWriter
impl UnwindSafe for MsgPackWriter
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.