Struct mesh::payload::message::ProtobufAny
source · pub struct ProtobufAny { /* private fields */ }
Expand description
A protobuf message and the associated protobuf type URL.
This has the encoding of google.protobuf.Any
.
Implementations§
source§impl ProtobufAny
impl ProtobufAny
sourcepub fn new<T>(data: T) -> ProtobufAnywhere
T: DescribedProtobuf,
pub fn new<T>(data: T) -> ProtobufAnywhere
T: DescribedProtobuf,
Encodes data
as a protobuf message.
sourcepub fn parse<T>(&self) -> Result<T, Error>where
T: DescribedProtobuf,
pub fn parse<T>(&self) -> Result<T, Error>where
T: DescribedProtobuf,
Decodes the protobuf message into T
.
Fails if this message is an encoding of a different type.
sourcepub fn is_message<T>(&self) -> boolwhere
T: DescribedProtobuf,
pub fn is_message<T>(&self) -> boolwhere
T: DescribedProtobuf,
Returns true
if this message is an encoding of T
.
Trait Implementations§
source§impl Debug for ProtobufAny
impl Debug for ProtobufAny
source§impl DefaultEncoding for ProtobufAny
impl DefaultEncoding for ProtobufAny
source§type Encoding = TableEncoder
type Encoding = TableEncoder
The encoding to use for the serialization. Read more
source§impl DescribeTable for ProtobufAny
impl DescribeTable for ProtobufAny
source§const DESCRIPTION: MessageDescription<'static> = _
const DESCRIPTION: MessageDescription<'static> = _
The protobuf message description for this type.
source§impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for ProtobufAnywhere
AnyR: 'static,
impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for ProtobufAnywhere
AnyR: 'static,
source§const DECODERS: &'static [ErasedDecoderEntry] = _
const DECODERS: &'static [ErasedDecoderEntry] = _
The list of decoder vtables.
source§impl<AnyR> StructEncodeMetadata<AnyR> for ProtobufAnywhere
AnyR: 'static,
impl<AnyR> StructEncodeMetadata<AnyR> for ProtobufAnywhere
AnyR: 'static,
source§const ENCODERS: &'static [ErasedEncoderEntry] = _
const ENCODERS: &'static [ErasedEncoderEntry] = _
The list of encoder vtables.
source§impl StructMetadata for ProtobufAny
impl StructMetadata for ProtobufAny
impl Downcast<ProtobufAny> for ProtobufAny
Auto Trait Implementations§
impl Freeze for ProtobufAny
impl RefUnwindSafe for ProtobufAny
impl Send for ProtobufAny
impl Sync for ProtobufAny
impl Unpin for ProtobufAny
impl UnwindSafe for ProtobufAny
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> DescribedProtobuf for T
impl<T> DescribedProtobuf for T
source§const DESCRIPTION: MessageDescription<'static> = _
const DESCRIPTION: MessageDescription<'static> = _
The message description.
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> MeshField for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshField for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
source§impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
source§impl<T> Protobuf for Twhere
T: DefaultEncoding,
<T as DefaultEncoding>::Encoding: MessageEncode<T, NoResources> + for<'a> MessageDecode<'a, T, NoResources> + FieldEncode<T, NoResources> + for<'a> FieldDecode<'a, T, NoResources>,
impl<T> Protobuf for Twhere
T: DefaultEncoding,
<T as DefaultEncoding>::Encoding: MessageEncode<T, NoResources> + for<'a> MessageDecode<'a, T, NoResources> + FieldEncode<T, NoResources> + for<'a> FieldDecode<'a, T, NoResources>,
source§type Encoding = <T as DefaultEncoding>::Encoding
type Encoding = <T as DefaultEncoding>::Encoding
The default encoding for
Self
.source§impl<T> SerializeMessage for Twhere
T: MeshPayload,
impl<T> SerializeMessage for Twhere
T: MeshPayload,
source§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in
MessageEncode::compute_message_size
.source§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in
MessageEncode::write_message
.source§fn extract(self) -> <T as SerializeMessage>::Concrete
fn extract(self) -> <T as SerializeMessage>::Concrete
Extract the concrete message.