pub struct MessageDescriptor { /* private fields */ }
Expand description

Dynamic representation of message type.

Used for reflection.

Implementations§

source§

impl MessageDescriptor

source

pub fn proto(&self) -> &DescriptorProto

Get underlying DescriptorProto object.

source

pub fn name(&self) -> &str

Message name as specified in .proto file.

source

pub fn for_type<M: MessageFull>() -> MessageDescriptor

Get a message descriptor for given message type

source

pub fn nested_messages(&self) -> impl Iterator<Item = MessageDescriptor> + '_

Messages declared in this messages.

source

pub fn nested_enums(&self) -> impl Iterator<Item = EnumDescriptor> + '_

Get enums declared in this message.

source

pub fn enclosing_message(&self) -> Option<MessageDescriptor>

Get a message containing this message, or None if this message is declared at file level.

source

pub fn file_descriptor(&self) -> &FileDescriptor

FileDescriptor containing this message.

source

pub fn file_descriptor_proto(&self) -> &FileDescriptorProto

FileDescriptorProto containg this message type

source

pub fn is_map_entry(&self) -> bool

This message descriptor is a map entry.

source

pub fn new_instance(&self) -> Box<dyn MessageDyn>

New empty message.

§Panics

If this message is a map entry message.

source

pub fn default_instance(&self) -> Option<&'static dyn MessageDyn>

Shared immutable empty message.

Returns None for dynamic message.

§Panics

If this message is a map entry message.

source

pub fn eq(&self, a: &dyn MessageDyn, b: &dyn MessageDyn) -> bool

Check if two messages equal.

§Panics

Is any message has different type than this descriptor.

source

pub fn full_name(&self) -> &str

Fully qualified protobuf message name

source

pub fn name_to_package(&self) -> &str

Name relative to the package where the message is declared.

source

pub fn all_oneofs<'a>(&'a self) -> impl Iterator<Item = OneofDescriptor> + 'a

Nested oneofs including synthetic.

source

pub fn oneofs<'a>(&'a self) -> impl Iterator<Item = OneofDescriptor> + 'a

Non-synthetic oneofs.

source

pub fn oneof_by_name(&self, name: &str) -> Option<OneofDescriptor>

Get message oneof by name (not implemented).

source

pub fn fields<'a>(&'a self) -> impl Iterator<Item = FieldDescriptor> + 'a

Message field descriptors.

source

pub fn extensions(&self) -> impl Iterator<Item = FieldDescriptor> + '_

Extension fields.

source

pub fn field_by_name(&self, name: &str) -> Option<FieldDescriptor>

Find message field by protobuf field name

Note: protobuf field name might be different for Rust field name.

source

pub fn field_by_name_or_json_name<'a>( &'a self, name: &str ) -> Option<FieldDescriptor>

Find message field by field name or field JSON name

source

pub fn field_by_number(&self, number: u32) -> Option<FieldDescriptor>

Find message field by field name

source

pub fn parse_from( &self, is: &mut CodedInputStream<'_> ) -> Result<Box<dyn MessageDyn>>

Parse message from stream.

source

pub fn parse_from_reader( &self, reader: &mut dyn Read ) -> Result<Box<dyn MessageDyn>>

Parse message from reader. Parse stops on EOF or when error encountered.

source

pub fn parse_from_bytes(&self, bytes: &[u8]) -> Result<Box<dyn MessageDyn>>

Parse message from byte array.

Trait Implementations§

source§

impl Clone for MessageDescriptor

source§

fn clone(&self) -> MessageDescriptor

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for MessageDescriptor

source§

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

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

impl Display for MessageDescriptor

source§

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

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

impl Hash for MessageDescriptor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for MessageDescriptor

source§

fn eq(&self, other: &MessageDescriptor) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for MessageDescriptor

source§

impl StructuralPartialEq for MessageDescriptor

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

§

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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.