Enum AvroValue
pub enum AvroValue {
Show 24 variants
Null,
Boolean(bool),
Int(i32),
Long(i64),
Float(f32),
Double(f64),
Bytes(Vec<u8>),
String(String),
Fixed(usize, Vec<u8>),
Enum(u32, String),
Union(u32, Box<Value>),
Array(Vec<Value>),
Map(HashMap<String, Value>),
Record(Vec<(String, Value)>),
Date(i32),
Decimal(Decimal),
TimeMillis(i32),
TimeMicros(i64),
TimestampMillis(i64),
TimestampMicros(i64),
LocalTimestampMillis(i64),
LocalTimestampMicros(i64),
Duration(Duration),
Uuid(Uuid),
}
Expand description
A valid Avro value.
More information about Avro values can be found in the Avro Specification
Variants§
Null
A null
Avro value.
Boolean(bool)
A boolean
Avro value.
Int(i32)
A int
Avro value.
Long(i64)
A long
Avro value.
Float(f32)
A float
Avro value.
Double(f64)
A double
Avro value.
Bytes(Vec<u8>)
A bytes
Avro value.
String(String)
A string
Avro value.
Fixed(usize, Vec<u8>)
A fixed
Avro value.
The size of the fixed value is represented as a usize
.
Enum(u32, String)
An enum
Avro value.
An Enum is represented by a symbol and its position in the symbols list of its corresponding schema. This allows schema-less encoding, as well as schema resolution while reading values.
Union(u32, Box<Value>)
An union
Avro value.
A Union is represented by the value it holds and its position in the type list of its corresponding schema This allows schema-less encoding, as well as schema resolution while reading values.
Array(Vec<Value>)
An array
Avro value.
Map(HashMap<String, Value>)
A map
Avro value.
Record(Vec<(String, Value)>)
A record
Avro value.
A Record is represented by a vector of (<record name>
, value
).
This allows schema-less encoding.
See Record for a more user-friendly support.
Date(i32)
A date value.
Serialized and deserialized as i32
directly. Can only be deserialized properly with a
schema.
Decimal(Decimal)
An Avro Decimal value. Bytes are in big-endian order, per the Avro spec.
TimeMillis(i32)
Time in milliseconds.
TimeMicros(i64)
Time in microseconds.
TimestampMillis(i64)
Timestamp in milliseconds.
TimestampMicros(i64)
Timestamp in microseconds.
LocalTimestampMillis(i64)
Local timestamp in milliseconds.
LocalTimestampMicros(i64)
Local timestamp in microseconds.
Duration(Duration)
Avro Duration. An amount of time defined by months, days and milliseconds.
Uuid(Uuid)
Universally unique identifier.
Implementations§
§impl Value
impl Value
pub fn validate(&self, schema: &Schema) -> bool
pub fn validate(&self, schema: &Schema) -> bool
Validate the value against the given Schema.
See the Avro specification for the full set of rules of schema validation.
pub fn validate_schemata(&self, schemata: Vec<&Schema>) -> bool
pub fn resolve(self, schema: &Schema) -> Result<Value, Error>
pub fn resolve(self, schema: &Schema) -> Result<Value, Error>
Attempt to perform schema resolution on the value, with the given Schema.
See Schema Resolution in the Avro specification for the full set of rules of schema resolution.
pub fn resolve_schemata(
self,
schema: &Schema,
schemata: Vec<&Schema>,
) -> Result<Value, Error>
pub fn resolve_schemata( self, schema: &Schema, schemata: Vec<&Schema>, ) -> Result<Value, Error>
Attempt to perform schema resolution on the value, with the given Schema and set of schemas to use for Refs resolution.
See Schema Resolution in the Avro specification for the full set of rules of schema resolution.
Trait Implementations§
impl StructuralPartialEq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations§
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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>
T
in a tonic::Request
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level
.source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n
.source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n
with metric_level
set to
MetricLevel::Debug
and relabel_num
set to 1.