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> { ... }
}
Required Associated Types§
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 Methods§
fn map_decoder<T, F: FnMut(Self::Out) -> Result<T, AvroError>>( self, f: F, ) -> MappingDecoder<T, Self::Out, Self, F>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.