Skip to main content

ApiView

Struct ApiView 

Source
pub struct ApiView<'a> {
    pub name: &'a str,
    pub methods: RepeatedView<'a, MethodView<'a>>,
    pub options: RepeatedView<'a, OptionView<'a>>,
    pub version: &'a str,
    pub source_context: MessageFieldView<SourceContextView<'a>>,
    pub mixins: RepeatedView<'a, MixinView<'a>>,
    pub syntax: EnumValue<Syntax>,
    pub edition: &'a str,
    pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}
Expand description

Api is a light-weight descriptor for an API Interface.

Interfaces are also described as “protocol buffer services” in some contexts, such as by the “service” keyword in a .proto file, but they are different from API Services, which represent a concrete implementation of an interface as opposed to simply a description of methods and bindings. They are also sometimes simply referred to as “APIs” in other contexts, such as the name of this message itself. See https://cloud.google.com/apis/design/glossary for detailed terminology.

New usages of this message as an alternative to ServiceDescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information.

Fields§

§name: &'a str

The fully qualified name of this interface, including package name followed by the interface’s simple name.

Field 1: name

§methods: RepeatedView<'a, MethodView<'a>>

The methods of this interface, in unspecified order.

Field 2: methods

§options: RepeatedView<'a, OptionView<'a>>

Any metadata attached to the interface.

Field 3: options

§version: &'a str

A version string for this interface. If specified, must have the form major-version.minor-version, as in 1.10. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here.

The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan.

The major version is also reflected in the package name of the interface, which must end in v<major-version>, as in google.feature.v1. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.

Field 4: version

§source_context: MessageFieldView<SourceContextView<'a>>

Source context for the protocol buffer service represented by this message.

Field 5: source_context

§mixins: RepeatedView<'a, MixinView<'a>>

Included interfaces. See Mixin.

Field 6: mixins

§syntax: EnumValue<Syntax>

The source syntax of the service.

Field 7: syntax

§edition: &'a str

The source edition string, only valid when syntax is SYNTAX_EDITIONS.

Field 8: edition

§__buffa_unknown_fields: UnknownFieldsView<'a>

Trait Implementations§

Source§

impl<'a> Clone for ApiView<'a>

Source§

fn clone(&self) -> ApiView<'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 ApiView<'a>

Source§

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

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

impl<'a> Default for ApiView<'a>

Source§

fn default() -> ApiView<'a>

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

impl<'v> DefaultViewInstance for ApiView<'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 ApiView<'a>

Source§

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

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

const NAME: &'static str = "Api"

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

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

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

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

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

impl<'a> MessageView<'a> for ApiView<'a>

Source§

type Owned = Api

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<Api, DecodeError>

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

fn to_owned_from_source( &self, __buffa_src: Option<&Bytes>, ) -> Result<Api, 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 ApiView<'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 ApiView<'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 ApiView<'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 ApiView<'static>

Source§

type Reborrowed<'b> = ApiView<'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 ApiView<'a>

§

impl<'a> RefUnwindSafe for ApiView<'a>

§

impl<'a> Send for ApiView<'a>

§

impl<'a> Sync for ApiView<'a>

§

impl<'a> Unpin for ApiView<'a>

§

impl<'a> UnsafeUnpin for ApiView<'a>

§

impl<'a> UnwindSafe for ApiView<'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.