pub trait Proxy: Sized + Send + Sync {
type Protocol: ProtocolMarker<Proxy = Self>;
// Required methods
fn from_channel(inner: AsyncChannel) -> Self;
fn into_channel(self) -> Result<AsyncChannel, Self>;
fn as_channel(&self) -> &AsyncChannel;
// Provided methods
fn is_closed(&self) -> bool { ... }
fn on_closed<'a>(&'a self) -> OnSignals<'a> ⓘ { ... }
}
Expand description
A type which allows querying a remote FIDL server over a channel.
Required Associated Types§
sourcetype Protocol: ProtocolMarker<Proxy = Self>
type Protocol: ProtocolMarker<Proxy = Self>
The protocol which this Proxy
controls.
Required Methods§
sourcefn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
sourcefn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, 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.
sourcefn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
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.