pub struct DescriptorPool { /* private fields */ }Expand description
A native protobuf descriptor pool.
Built from a prost_types::FileDescriptorSet via
DescriptorPool::from_file_descriptor_set. Cheaply cloneable (it wraps an
Arc).
Implementations§
Source§impl DescriptorPool
impl DescriptorPool
Sourcepub fn from_file_descriptor_set(
fds: FileDescriptorSet,
) -> Result<Self, ReflectError>
pub fn from_file_descriptor_set( fds: FileDescriptorSet, ) -> Result<Self, ReflectError>
Build a pool from a decoded FileDescriptorSet.
§Errors
Returns ReflectError::Pool if a descriptor is malformed (missing
required name/number fields) or if a field, method input, or method
output references a type name that is not present in the set.
Sourcepub fn get_message_by_name(&self, full_name: &str) -> Option<MessageDescriptor>
pub fn get_message_by_name(&self, full_name: &str) -> Option<MessageDescriptor>
Look up a message by its fully-qualified name (no leading dot).
Sourcepub fn get_enum_by_name(&self, full_name: &str) -> Option<EnumDescriptor>
pub fn get_enum_by_name(&self, full_name: &str) -> Option<EnumDescriptor>
Look up an enum by its fully-qualified name (no leading dot).
Sourcepub fn get_service_by_name(&self, full_name: &str) -> Option<ServiceDescriptor>
pub fn get_service_by_name(&self, full_name: &str) -> Option<ServiceDescriptor>
Look up a service by its fully-qualified name (no leading dot).
Sourcepub fn all_messages(
&self,
) -> impl ExactSizeIterator<Item = MessageDescriptor> + '_
pub fn all_messages( &self, ) -> impl ExactSizeIterator<Item = MessageDescriptor> + '_
Iterate over every message in the pool (including nested messages and synthetic map-entry types), in registration order.
Sourcepub fn all_enums(&self) -> impl ExactSizeIterator<Item = EnumDescriptor> + '_
pub fn all_enums(&self) -> impl ExactSizeIterator<Item = EnumDescriptor> + '_
Iterate over every enum in the pool, in registration order.
Sourcepub fn services(&self) -> impl ExactSizeIterator<Item = ServiceDescriptor> + '_
pub fn services(&self) -> impl ExactSizeIterator<Item = ServiceDescriptor> + '_
Iterate over every service in the pool, in registration order.
Trait Implementations§
Source§impl Clone for DescriptorPool
impl Clone for DescriptorPool
Source§fn clone(&self) -> DescriptorPool
fn clone(&self) -> DescriptorPool
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more