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§
Sourceconst DEBUG_NAME: &'static str
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§
Sourcetype Proxy: Proxy<Protocol = Self>
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
.
Sourcetype SynchronousProxy: SynchronousProxy<Protocol = Self>
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
.
Sourcetype RequestStream: RequestStream<Protocol = Self>
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.