pub struct Schema {
pub(crate) named: Vec<NamedSchemaPiece>,
pub(crate) indices: BTreeMap<FullName, usize>,
pub top: SchemaPieceOrNamed,
}
Expand description
Represents any valid Avro schema More information about Avro schemas can be found in the Avro Specification
Fields§
§named: Vec<NamedSchemaPiece>
§indices: BTreeMap<FullName, usize>
§top: SchemaPieceOrNamed
Implementations§
Source§impl Schema
impl Schema
pub fn top_node(&self) -> SchemaNode<'_>
pub fn top_node_or_named(&self) -> SchemaNodeOrNamed<'_>
pub fn lookup(&self, idx: usize) -> &NamedSchemaPiece
pub fn try_lookup_name(&self, name: &FullName) -> Option<&NamedSchemaPiece>
Source§impl Schema
impl Schema
Sourcepub fn parse(value: &Value) -> Result<Self, AvroError>
pub fn parse(value: &Value) -> Result<Self, AvroError>
Create a Schema
from a serde_json::Value
representing a JSON Avro
schema.
Sourcepub fn canonical_form(&self) -> String
pub fn canonical_form(&self) -> String
Converts self
into its Parsing Canonical Form.
Sourcepub fn fingerprint<D: Digest>(&self) -> SchemaFingerprint
pub fn fingerprint<D: Digest>(&self) -> SchemaFingerprint
Generate fingerprint of Schema’s Parsing Canonical Form.
Sourcefn parse_primitive(primitive: &str) -> Result<SchemaPiece, AvroError>
fn parse_primitive(primitive: &str) -> Result<SchemaPiece, AvroError>
Parse a serde_json::Value
representing a primitive Avro type into a
Schema
.
Trait Implementations§
Source§impl<'a> From<&'a Schema> for SchemaKind
impl<'a> From<&'a Schema> for SchemaKind
Source§fn from(schema: &'a Schema) -> SchemaKind
fn from(schema: &'a Schema) -> SchemaKind
Converts to this type from the input type.
impl StructuralPartialEq for Schema
Auto Trait Implementations§
impl Freeze for Schema
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request