pub trait AvroDecode: Sized {
type Out;
Show 13 methods
// Required methods
fn record<R: AvroRead, A: AvroRecordAccess<R>>(
self,
_a: &mut A
) -> Result<Self::Out, AvroError>;
fn union_branch<'a, R: AvroRead, D: AvroDeserializer>(
self,
_idx: usize,
_n_variants: usize,
_null_variant: Option<usize>,
_deserializer: D,
_reader: &'a mut R
) -> Result<Self::Out, AvroError>;
fn array<A: AvroArrayAccess>(
self,
_a: &mut A
) -> Result<Self::Out, AvroError>;
fn map<M: AvroMapAccess>(self, _m: &mut M) -> Result<Self::Out, AvroError>;
fn enum_variant(
self,
_symbol: &str,
_idx: usize
) -> Result<Self::Out, AvroError>;
fn scalar(self, _scalar: Scalar) -> Result<Self::Out, AvroError>;
fn decimal<'a, R: AvroRead>(
self,
_precision: usize,
_scale: usize,
_r: ValueOrReader<'a, &'a [u8], R>
) -> Result<Self::Out, AvroError>;
fn bytes<'a, R: AvroRead>(
self,
_r: ValueOrReader<'a, &'a [u8], R>
) -> Result<Self::Out, AvroError>;
fn string<'a, R: AvroRead>(
self,
_r: ValueOrReader<'a, &'a str, R>
) -> Result<Self::Out, AvroError>;
fn json<'a, R: AvroRead>(
self,
_r: ValueOrReader<'a, &'a Value, R>
) -> Result<Self::Out, AvroError>;
fn uuid<'a, R: AvroRead>(
self,
_r: ValueOrReader<'a, &'a [u8], R>
) -> Result<Self::Out, AvroError>;
fn fixed<'a, R: AvroRead>(
self,
_r: ValueOrReader<'a, &'a [u8], R>
) -> Result<Self::Out, AvroError>;
// Provided method
fn map_decoder<T, F: FnMut(Self::Out) -> Result<T, AvroError>>(
self,
f: F
) -> MappingDecoder<T, Self::Out, Self, F> { ... }
}