mesh::payload::protofile

Trait DescribeMessage

Source
pub trait DescribeMessage<T> {
    const DESCRIPTION: MessageDescription<'static>;
}
Expand description

A trait for a self-describing protobuf message.

This can be derived for T by deriving Protobuf and adding the attribute #[mesh(package = "my.package.name")].

Required Associated Constants§

Source

const DESCRIPTION: MessageDescription<'static>

The message description.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl DescribeMessage<()> for TableEncoder

Source§

impl<E, T> DescribeMessage<T> for ArcEncoding<E>
where E: DescribeMessage<T>,

Source§

const DESCRIPTION: MessageDescription<'static> = E::DESCRIPTION

Source§

impl<E, T> DescribeMessage<T> for BoxEncoding<E>
where E: DescribeMessage<T>,

Source§

const DESCRIPTION: MessageDescription<'static> = E::DESCRIPTION

Source§

impl<E, T> DescribeMessage<T> for MessageEncoding<E>
where E: DescribeMessage<T>,

Source§

const DESCRIPTION: MessageDescription<'static> = E::DESCRIPTION

Source§

impl<T> DescribeMessage<T> for ImpossibleField

Source§

impl<T> DescribeMessage<T> for OneofEncoder
where T: DescribeOneof,

Source§

const DESCRIPTION: MessageDescription<'static> = T::DESCRIPTION

Source§

impl<T> DescribeMessage<T> for TableEncoder
where T: DescribeTable,

Source§

const DESCRIPTION: MessageDescription<'static> = T::DESCRIPTION

Source§

impl<T, E> DescribeMessage<T> for TransparentEncoding<E>

Source§

const DESCRIPTION: MessageDescription<'static> = E::DESCRIPTION