[−][src]Struct avrow::Writer
The Writer is the primary interface for writing values to an avro datafile or a byte container (say a Vec<u8>
).
It takes a reference to the schema for validating the values being written
and an output stream W which can be any type
implementing the Write trait.
Implementations
impl<'a, W: Write> Writer<'a, W>
[src]
pub fn new(schema: &'a Schema, out_stream: W) -> Result<Self, AvrowErr>
[src]
Creates a new avro Writer instance taking a reference to a Schema
and and a Write
.
pub fn with_codec(
schema: &'a Schema,
out_stream: W,
codec: Codec
) -> Result<Self, AvrowErr>
[src]
schema: &'a Schema,
out_stream: W,
codec: Codec
) -> Result<Self, AvrowErr>
Same as the new method, but additionally takes a Codec
as parameter.
Codecs can be used to compress the encoded data being written in avro format.
Supported codecs as per spec are:
pub fn write<T: Into<Value>>(&mut self, value: T) -> Result<(), AvrowErr>
[src]
Appends a value to the buffer.
Before a value gets written, it gets validated with the schema referenced
by this writer.
Note: writes are buffered internally as per the flush interval and the underlying
buffer may not reflect values immediately.
Call flush
to explicitly write all buffered data.
Alternatively calling into_inner
on the writer
guarantees that flush will happen and will hand over
the underlying buffer with all data written.
pub fn serialize<T: Serialize>(&mut self, value: T) -> Result<(), AvrowErr>
[src]
Appends a native Rust value to the buffer. The value must implement Serde's Serialize
trait.
pub fn flush(&mut self) -> Result<(), AvrowErr>
[src]
Sync/flush any buffered data to the underlying buffer. Note: This method is called to ensure that all
pub fn into_inner(self) -> Result<W, AvrowErr>
[src]
Consumes self and yields the inner Write instance. Additionally calls flush if no flush has happened before this call.
Auto Trait Implementations
impl<'a, W> RefUnwindSafe for Writer<'a, W> where
W: RefUnwindSafe,
W: RefUnwindSafe,
impl<'a, W> Send for Writer<'a, W> where
W: Send,
W: Send,
impl<'a, W> Sync for Writer<'a, W> where
W: Sync,
W: Sync,
impl<'a, W> Unpin for Writer<'a, W> where
W: Unpin,
W: Unpin,
impl<'a, W> UnwindSafe for Writer<'a, W> where
W: UnwindSafe,
W: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,