Trait Proxy
pub trait Proxy:
Sized
+ Send
+ Sync {
type Protocol: ProtocolMarker<Proxy = Self>;
// Required methods
fn from_channel(inner: Channel) -> Self;
fn into_channel(self) -> Result<Channel, Self>;
fn as_channel(&self) -> &Channel;
// Provided methods
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self> { ... }
fn is_closed(&self) -> bool { ... }
fn on_closed(&self) -> OnSignals<'_, Unowned<'_, Handle>> ⓘ { ... }
}
Expand description
A type which allows querying a remote FIDL server over a channel.
Required Associated Types§
type Protocol: ProtocolMarker<Proxy = Self>
type Protocol: ProtocolMarker<Proxy = Self>
The protocol which this Proxy
controls.
Required Methods§
fn from_channel(inner: Channel) -> Self
fn from_channel(inner: Channel) -> Self
Create a proxy over the given channel.
fn into_channel(self) -> Result<Channel, Self>
fn into_channel(self) -> Result<Channel, Self>
Attempt to convert the proxy back into a channel.
This will only succeed if there are no active clones of this proxy
and no currently-alive EventStream
or response futures that came from
this proxy.
fn as_channel(&self) -> &Channel
fn as_channel(&self) -> &Channel
Get a reference to the proxy’s underlying channel.
This should only be used for non-effectful operations. Reading or writing to the channel is unsafe because the proxy assumes it has exclusive control over these operations.
Provided Methods§
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Attempt to convert the proxy back into a client end.
This will only succeed if there are no active clones of this proxy
and no currently-alive EventStream
or response futures that came from
this proxy.
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.