fidl::endpoints

Trait ProtocolMarker

Source
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 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.

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.

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§