Skip to main content

OptionView

Struct OptionView 

Source
pub struct OptionView<'a> {
    pub name: &'a str,
    pub value: MessageFieldView<AnyView<'a>>,
    pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}
Expand description

A protocol buffer option, which can be attached to a message, field, enumeration, etc.

New usages of this message as an alternative to FileOptions, MessageOptions, FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions, or MethodOptions are strongly discouraged.

Fields§

§name: &'a str

The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".

Field 1: name

§value: MessageFieldView<AnyView<'a>>

The option’s value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type.

Field 2: value

§__buffa_unknown_fields: UnknownFieldsView<'a>

Trait Implementations§

Source§

impl<'a> Clone for OptionView<'a>

Source§

fn clone(&self) -> OptionView<'a>

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<'a> Debug for OptionView<'a>

Source§

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

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

impl<'a> Default for OptionView<'a>

Source§

fn default() -> OptionView<'a>

Returns the “default value” for a type. Read more
Source§

impl<'v> DefaultViewInstance for OptionView<'v>

Source§

fn default_view_instance<'a>() -> &'a Self
where Self: 'a,

Return a reference to the single default view instance. Read more
Source§

impl<'a> MessageName for OptionView<'a>

Source§

const PACKAGE: &'static str = "google.protobuf"

The protobuf package the message is declared in. Read more
Source§

const NAME: &'static str = "Option"

The unqualified message name, with . between nesting levels. Read more
Source§

const FULL_NAME: &'static str = "google.protobuf.Option"

The fully-qualified protobuf type name with no leading dot. Read more
Source§

const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.Option"

The google.protobuf.Any.type_url form for this message. Read more
Source§

impl<'a> MessageView<'a> for OptionView<'a>

Source§

type Owned = Option

The corresponding owned message type.
Source§

fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>

Decode a view from a buffer, borrowing string/bytes fields directly. Read more
Source§

fn decode_view_with_ctx( buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<Self, DecodeError>

Decode a view under custom decode limits. Read more
Source§

fn merge_view_field( &mut self, tag: Tag, cur: &'a [u8], before_tag: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<&'a [u8], DecodeError>

Decode one field’s payload into this view (generated per message). Read more
Source§

fn to_owned_message(&self) -> Result<Option, DecodeError>

Convert this view to the owned message type. Read more
Source§

fn to_owned_from_source( &self, __buffa_src: Option<&Bytes>, ) -> Result<Option, DecodeError>

Convert this view to the owned message type, optionally slicing bytes::Bytes-typed fields from source instead of copying. Read more
Source§

fn decode_view_ctx( buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<Self, DecodeError>
where Self: Default,

Decode a view under an explicit DecodeContext (remaining recursion depth, unknown-field allowance, and element-memory budget), driving the provided tag loop over merge_view_field. Read more
Source§

fn merge_into_view( &mut self, buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Merge fields from buf into this view (proto merge semantics): repeated fields append, singular fields last-wins, singular message fields merge recursively. Read more
Source§

impl<'a> ReflectElement for OptionView<'a>

Available on crate feature reflect only.
Source§

fn as_value_ref(&self) -> ValueRef<'_>

Borrow this element as a ValueRef.
Source§

impl<'a> ReflectMessage for OptionView<'a>

Available on crate feature reflect only.
Source§

fn message_descriptor(&self) -> &MessageDescriptor

The descriptor for this message type.
Source§

fn pool(&self) -> &Arc<DescriptorPool>

The pool the descriptor lives in. Use this to dereference MessageIndex / EnumIndex from FieldKind, or Arc::clone it to construct sibling DynamicMessages while navigating nested fields.
Source§

fn get(&self, field: &FieldDescriptor) -> ValueRef<'_>

Get a field’s value. Read more
Source§

fn has(&self, field: &FieldDescriptor) -> bool

Whether a field is present. Read more
Source§

fn for_each_set(&self, f: &mut dyn FnMut(&FieldDescriptor, ValueRef<'_>))

Visit every set field. Read more
Source§

fn to_dynamic(&self) -> DynamicMessage

Snapshot this message as an owned DynamicMessage. Read more
Source§

fn unknown_fields(&self) -> &UnknownFields

The fields preserved from decode that the message’s descriptor does not recognize. Read more
Source§

fn which_oneof(&self, oneof: &OneofDescriptor) -> Option<&FieldDescriptor>

Which member of oneof is set, if any. Read more
Source§

impl<'a> ViewEncode<'a> for OptionView<'a>

Source§

fn compute_size(&self, __cache: &mut SizeCache) -> u32

Compute the encoded byte size of this view, recording nested sub-message sizes in cache for write_to to consume. Read more
Source§

fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl EncodeSink)

Write this view’s encoded bytes to a buffer, consuming nested-message sizes from cache (populated by a prior compute_size call on the same cache). Read more
Source§

fn encode(&self, buf: &mut impl EncodeSink)

Compute size, then write. Primary view-encode entry point. Read more
Source§

fn try_encode(&self, buf: &mut impl EncodeSink) -> Result<(), EncodeError>

Encode, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl EncodeSink)

Encode using a caller-supplied SizeCache, for reuse across many encodes in a hot loop. Clears the cache first. Read more
Source§

fn try_encode_with_cache( &self, cache: &mut SizeCache, buf: &mut impl EncodeSink, ) -> Result<(), EncodeError>

Encode with a caller-supplied SizeCache, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Clears the cache first. Read more
Source§

fn try_encode_bounded( &self, max_bytes: u32, buf: &mut impl EncodeSink, ) -> Result<u32, EncodeError>

Encode this view into buf only if its encoded size fits within max_bytes, using a single size pass that is then reused for the write. Read more
Source§

fn try_encode_bounded_with_cache( &self, max_bytes: u32, cache: &mut SizeCache, buf: &mut impl EncodeSink, ) -> Result<u32, EncodeError>

Like try_encode_bounded but reuses an existing SizeCache, clearing it first. Read more
Source§

fn encoded_len(&self) -> u32

Compute the encoded byte size of this view. Read more
Source§

fn try_encoded_len(&self) -> Result<u32, EncodeError>

Compute the encoded byte size, returning an error instead of panicking if it exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_length_delimited(&self, buf: &mut impl EncodeSink)

Encode this view as a length-delimited byte sequence. Read more
Source§

fn try_encode_length_delimited( &self, buf: &mut impl EncodeSink, ) -> Result<(), EncodeError>

Encode as a length-delimited byte sequence, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>

Encode this view to a new Vec<u8>. Read more
Source§

fn try_encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>

Encode to a new Vec<u8>, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_to_bytes(&self) -> Bytes

Encode this view to a new bytes::Bytes. Read more
Source§

fn try_encode_to_bytes(&self) -> Result<Bytes, EncodeError>

Encode to a new bytes::Bytes, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

impl ViewReborrow for OptionView<'static>

Source§

type Reborrowed<'b> = OptionView<'b>

The same view type with its lifetime shortened to 'b.
Source§

fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>

Coerce &'b Self (= &'b FooView<'static>) to &'b Self::Reborrowed<'b> (= &'b FooView<'b>). The canonical body is just this; the compiler accepts it via standard lifetime variance for covariant view types. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for OptionView<'a>

§

impl<'a> RefUnwindSafe for OptionView<'a>

§

impl<'a> Send for OptionView<'a>

§

impl<'a> Sync for OptionView<'a>

§

impl<'a> Unpin for OptionView<'a>

§

impl<'a> UnsafeUnpin for OptionView<'a>

§

impl<'a> UnwindSafe for OptionView<'a>

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.