Struct mz_interchange::avro::schema::SchemaCache
source · struct SchemaCache {
cache: BTreeMap<i32, Result<Schema, Error>>,
ccsr_client: Client,
}
Fields§
§cache: BTreeMap<i32, Result<Schema, Error>>
§ccsr_client: Client
Implementations§
source§impl SchemaCache
impl SchemaCache
fn new(ccsr_client: Client) -> Result<SchemaCache, Error>
sourceasync fn get(
&mut self,
id: i32,
reader_schema: &Schema
) -> Result<Result<&Schema>>
async fn get( &mut self, id: i32, reader_schema: &Schema ) -> Result<Result<&Schema>>
Looks up the writer schema for ID. If the schema is literally identical to the reader schema, as determined by the reader schema fingerprint that this schema cache was initialized with, returns the schema directly. If not, performs schema resolution on the reader and writer and returns the result.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for SchemaCache
impl Send for SchemaCache
impl Sync for SchemaCache
impl Unpin for SchemaCache
impl !UnwindSafe for SchemaCache
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> 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
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.