pub struct SchemaOwnedView(/* private fields */);Expand description
Self-contained, 'static owned view of a Schema message.
Wraps ::buffa::OwnedView<SchemaView<'static>>: the decoded view and the ::buffa::bytes::Bytes buffer it borrows from travel together, so the handle is 'static and Send + Sync — suitable for async handlers, spawned tasks, and anywhere a 'static bound is required.
Field accessors return borrows tied to &self. Use Self::view to get the full SchemaView when you need struct patterns, iteration helpers, or to pass the view to lifetime-parameterised code.
Implementations§
Source§impl SchemaOwnedView
impl SchemaOwnedView
Sourcepub fn decode(bytes: Bytes) -> Result<Self, DecodeError>
pub fn decode(bytes: Bytes) -> Result<Self, DecodeError>
Decode an owned view from a ::buffa::bytes::Bytes buffer.
The view borrows directly from the buffer’s data; the buffer is retained inside the returned handle.
§Errors
Returns ::buffa::DecodeError if the buffer contains invalid
protobuf data.
Sourcepub fn decode_with_options(
bytes: Bytes,
opts: &DecodeOptions,
) -> Result<Self, DecodeError>
pub fn decode_with_options( bytes: Bytes, opts: &DecodeOptions, ) -> Result<Self, DecodeError>
Decode with custom ::buffa::DecodeOptions (recursion limit,
max message size).
§Errors
Returns ::buffa::DecodeError if the buffer is invalid or
exceeds the configured limits.
Sourcepub fn from_owned(msg: &Schema) -> Result<Self, DecodeError>
pub fn from_owned(msg: &Schema) -> Result<Self, DecodeError>
Build from an owned message via an encode → decode round-trip.
§Errors
Returns ::buffa::DecodeError::MessageTooLarge if the
message’s encoded size exceeds the 2 GiB protobuf limit, or
another ::buffa::DecodeError if the re-encoded bytes are
somehow invalid (should not happen for well-formed messages).
Sourcepub fn view(&self) -> &SchemaView<'_>
pub fn view(&self) -> &SchemaView<'_>
Borrow the full SchemaView with its lifetime tied to &self.
Sourcepub fn to_owned_message(&self) -> Schema
pub fn to_owned_message(&self) -> Schema
Convert to the owned message type.
Infallible: this type’s constructors wire-decode their
buffer, and a view produced by wire decoding always
converts. Delegates to ::buffa::OwnedView::to_owned_message,
whose contract also governs handles converted from a raw
::buffa::OwnedView.
Sourcepub fn into_bytes(self) -> Bytes
pub fn into_bytes(self) -> Bytes
Consume the handle, returning the underlying bytes buffer.
Sourcepub fn tables(&self) -> &RepeatedView<'_, TableView<'_>>
pub fn tables(&self) -> &RepeatedView<'_, TableView<'_>>
Field 3: tables
Sourcepub fn enums(&self) -> &RepeatedView<'_, EnumView<'_>>
pub fn enums(&self) -> &RepeatedView<'_, EnumView<'_>>
Field 4: enums
Sourcepub fn composite_types(&self) -> &RepeatedView<'_, CompositeTypeView<'_>>
pub fn composite_types(&self) -> &RepeatedView<'_, CompositeTypeView<'_>>
Field 5: composite_types
Trait Implementations§
Source§impl AsRef<OwnedView<SchemaView<'static>>> for SchemaOwnedView
impl AsRef<OwnedView<SchemaView<'static>>> for SchemaOwnedView
Source§fn as_ref(&self) -> &OwnedView<SchemaView<'static>>
fn as_ref(&self) -> &OwnedView<SchemaView<'static>>
Source§impl Clone for SchemaOwnedView
impl Clone for SchemaOwnedView
Source§fn clone(&self) -> SchemaOwnedView
fn clone(&self) -> SchemaOwnedView
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more