pub trait ProtocolMarker: Sized + Send + Sync + 'static {
    type Proxy: Proxy<Protocol = Self>;
    type RequestStream: RequestStream<Protocol = Self>;

    const DEBUG_NAME: &'static str;
Expand description

A marker for a particular FIDL protocol.

Implementations of this trait can be used to manufacture instances of a FIDL protocol and get metadata about a particular protocol.

Required Associated Types§


type Proxy: Proxy<Protocol = Self>

The type of the structure against which FIDL requests are made. Queries made against the proxy are sent to the paired ServerEnd.


type RequestStream: RequestStream<Protocol = Self>

The type of the stream of requests coming into a server.

Required Associated Constants§


const DEBUG_NAME: &'static str

The name of the protocol suitable for debug purposes.

For discoverable protocols, this should be identical to <Self as DiscoverableProtocolMarker>::PROTOCOL_NAME.