Skip to main content

FieldOwnedView

Struct FieldOwnedView 

Source
pub struct FieldOwnedView(/* private fields */);
Expand description

Self-contained, 'static owned view of a Field message.

Wraps ::buffa::OwnedView<FieldView<'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 FieldView when you need struct patterns, iteration helpers, or to pass the view to lifetime-parameterised code.

Implementations§

Source§

impl FieldOwnedView

Source

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.

Source

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.

Source

pub fn from_owned(msg: &Field) -> 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).

Source

pub fn view(&self) -> &FieldView<'_>

Borrow the full FieldView with its lifetime tied to &self.

Source

pub fn to_owned_message(&self) -> Field

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.

Source

pub fn bytes(&self) -> &Bytes

The underlying bytes buffer.

Source

pub fn into_bytes(self) -> Bytes

Consume the handle, returning the underlying bytes buffer.

Source

pub fn kind(&self) -> EnumValue<Kind>

The field type.

Field 1: kind

Source

pub fn cardinality(&self) -> EnumValue<Cardinality>

The field cardinality.

Field 2: cardinality

Source

pub fn number(&self) -> i32

The field number.

Field 3: number

Source

pub fn name(&self) -> &str

The field name.

Field 4: name

Source

pub fn type_url(&self) -> &str

The field type URL, without the scheme, for message or enumeration types. Example: "type.googleapis.com/google.protobuf.Timestamp".

Field 6: type_url

Source

pub fn oneof_index(&self) -> i32

The index of the field type in Type.oneofs, for message or enumeration types. The first type has index 1; zero means the type is not in the list.

Field 7: oneof_index

Source

pub fn packed(&self) -> bool

Whether to use alternative packed wire representation.

Field 8: packed

Source

pub fn options(&self) -> &RepeatedView<'_, OptionView<'_>>

The protocol buffer options.

Field 9: options

Source

pub fn json_name(&self) -> &str

The field JSON name.

Field 10: json_name

Source

pub fn default_value(&self) -> &str

The string value of the default value of this field. Proto2 syntax only.

Field 11: default_value

Trait Implementations§

Source§

impl AsRef<OwnedView<FieldView<'static>>> for FieldOwnedView

Source§

fn as_ref(&self) -> &OwnedView<FieldView<'static>>

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for FieldOwnedView

Source§

fn clone(&self) -> FieldOwnedView

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FieldOwnedView

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<FieldOwnedView> for OwnedView<FieldView<'static>>

Source§

fn from(wrapper: FieldOwnedView) -> Self

Converts to this type from the input type.
Source§

impl From<OwnedView<FieldView<'static>>> for FieldOwnedView

Source§

fn from(inner: OwnedView<FieldView<'static>>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.