pub trait ProtocolMarker: Sized + Send + Sync + 'static {
    type Proxy: Proxy<Protocol = Self>;
    type SynchronousProxy: SynchronousProxy<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§

source

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.

source

type SynchronousProxy: SynchronousProxy<Protocol = Self>

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

source

type RequestStream: RequestStream<Protocol = Self>

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

Required Associated Constants§

source

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.

Object Safety§

This trait is not object safe.

Implementors§