pub struct WaitableDataChannelProxy { /* private fields */ }Implementations§
Source§impl WaitableDataChannelProxy
impl WaitableDataChannelProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.hardware.google.nanohub/WaitableDataChannel.
Sourcepub fn take_event_stream(&self) -> WaitableDataChannelEventStream
pub fn take_event_stream(&self) -> WaitableDataChannelEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn read(
&self,
) -> QueryResponseFut<WaitableDataChannelReadResult, DefaultFuchsiaResourceDialect>
pub fn read( &self, ) -> QueryResponseFut<WaitableDataChannelReadResult, DefaultFuchsiaResourceDialect>
The call will return the next datagram to be read from the channel. If there is more data to be read, SIGNAL_READABLE will remain asserted after this call returns. If there is no data to be read, this call will return ZX_ERR_SHOULD_WAIT
Sourcepub fn write(
&self,
payload: &WaitableDataChannelWriteRequest,
) -> QueryResponseFut<WaitableDataChannelWriteResult, DefaultFuchsiaResourceDialect>
pub fn write( &self, payload: &WaitableDataChannelWriteRequest, ) -> QueryResponseFut<WaitableDataChannelWriteResult, DefaultFuchsiaResourceDialect>
The call will return once the data is fully committed.
If the driver is not ready for a write, it will return ZX_ERR_NO_RESOURCES and the caller should await SIGNAL_WRITABLE to be asserted.
Trait Implementations§
Source§impl Clone for WaitableDataChannelProxy
impl Clone for WaitableDataChannelProxy
Source§fn clone(&self) -> WaitableDataChannelProxy
fn clone(&self) -> WaitableDataChannelProxy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WaitableDataChannelProxy
impl Debug for WaitableDataChannelProxy
Source§impl Proxy for WaitableDataChannelProxy
impl Proxy for WaitableDataChannelProxy
Source§type Protocol = WaitableDataChannelMarker
type Protocol = WaitableDataChannelMarker
The protocol which this
Proxy controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
Source§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. Read more
Source§fn on_closed(&self) -> OnSignals<'_, Unowned<'_, NullableHandle>>
fn on_closed(&self) -> OnSignals<'_, Unowned<'_, NullableHandle>>
Returns a future that completes when the proxy receives the
PEER_CLOSED signal.Source§impl WaitableDataChannelProxyInterface for WaitableDataChannelProxy
impl WaitableDataChannelProxyInterface for WaitableDataChannelProxy
type ReadResponseFut = QueryResponseFut<Result<WaitableDataChannelReadResponse, i32>>
type WriteResponseFut = QueryResponseFut<Result<(), i32>>
fn read(&self) -> Self::ReadResponseFut
fn write( &self, payload: &WaitableDataChannelWriteRequest, ) -> Self::WriteResponseFut
Auto Trait Implementations§
impl Freeze for WaitableDataChannelProxy
impl !RefUnwindSafe for WaitableDataChannelProxy
impl Send for WaitableDataChannelProxy
impl Sync for WaitableDataChannelProxy
impl Unpin for WaitableDataChannelProxy
impl !UnwindSafe for WaitableDataChannelProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<T> FromClient for Twhere
T: Proxy,
impl<T> FromClient for Twhere
T: Proxy,
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ProxyHasDomain for Twhere
T: Proxy,
impl<T> ProxyHasDomain for Twhere
T: Proxy,
Source§fn domain(&self) -> ZirconClient
fn domain(&self) -> ZirconClient
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.