pub struct Serializer<W: Write> { /* private fields */ }Expand description
A serializer used to write serialized data to the writer.
Implementations§
Source§impl<W: Write> Serializer<W>
impl<W: Write> Serializer<W>
Sourcepub fn new(w: W, revision: u32) -> BinverseResult<Self>
pub fn new(w: W, revision: u32) -> BinverseResult<Self>
Creates a new serializer. The revision will be written to the data to
make it possible to parse the data in future revisions. If the revision
should not be written, use Serializer::new_no_revision.
Sourcepub fn new_no_revision(w: W) -> Self
pub fn new_no_revision(w: W) -> Self
Create a new Serializer, but without writing the revision into the stream.
Sourcepub fn write(&mut self, buf: &[u8]) -> BinverseResult<()>
pub fn write(&mut self, buf: &[u8]) -> BinverseResult<()>
Write a raw byte buffer into the output. Should only be used when the
size will be known when deserializing, use the SizedSerialize/SizedDeserialize
implementations for [u8] or Vec<u8> otherwise.
Sourcepub fn serialize_sized<T: SizedSerialize<W>>(
&mut self,
size_bytes: SizeBytes,
t: &T,
) -> BinverseResult<()>
pub fn serialize_sized<T: SizedSerialize<W>>( &mut self, size_bytes: SizeBytes, t: &T, ) -> BinverseResult<()>
Serialize a sized data structure. Use the size_bytes parameter to
control how many bytes are used to serialize the size of the data structure.
Note that any elements exceeding the size will not be serialized.
For example, a Vec with 258 elements will lose it’s last 3 elements
when using SizeBytes::One.