pub struct FDomainProxy { /* private fields */ }Implementations§
Source§impl FDomainProxy
impl FDomainProxy
Sourcepub fn take_event_stream(&self) -> FDomainEventStream
pub fn take_event_stream(&self) -> FDomainEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn create_channel(
&self,
handles: &[NewHandleId; 2],
) -> QueryResponseFut<ChannelCreateChannelResult, DefaultFuchsiaResourceDialect>
pub fn create_channel( &self, handles: &[NewHandleId; 2], ) -> QueryResponseFut<ChannelCreateChannelResult, DefaultFuchsiaResourceDialect>
Create a new channel in this FDomain and return both its ends.
Sourcepub fn read_channel(
&self,
handle: &HandleId,
) -> QueryResponseFut<ChannelReadChannelResult, DefaultFuchsiaResourceDialect>
pub fn read_channel( &self, handle: &HandleId, ) -> QueryResponseFut<ChannelReadChannelResult, DefaultFuchsiaResourceDialect>
Read a message from a channel. This method will fail if the channel is currently being read using the streaming read functions.
Note that this method is not like zx_channel_read in that it will not
return SHOULD_WAIT but will instead delay returning until there is data
to return.
Sourcepub fn write_channel(
&self,
handle: &HandleId,
data: &[u8],
handles: &Handles,
) -> QueryResponseFut<ChannelWriteChannelResult, DefaultFuchsiaResourceDialect>
pub fn write_channel( &self, handle: &HandleId, data: &[u8], handles: &Handles, ) -> QueryResponseFut<ChannelWriteChannelResult, DefaultFuchsiaResourceDialect>
Write to a channel. Handles are always consumed.
Sourcepub fn read_channel_streaming_start(
&self,
handle: &HandleId,
) -> QueryResponseFut<ChannelReadChannelStreamingStartResult, DefaultFuchsiaResourceDialect>
pub fn read_channel_streaming_start( &self, handle: &HandleId, ) -> QueryResponseFut<ChannelReadChannelStreamingStartResult, DefaultFuchsiaResourceDialect>
Starts reading from the given channel. Data is returned via the ChannelStreamingData event.
That event will occur repeatedly until ReadChannelStreamingStop is called for the same handle
or the event indicates the handle is closed.
Sourcepub fn read_channel_streaming_stop(
&self,
handle: &HandleId,
) -> QueryResponseFut<ChannelReadChannelStreamingStopResult, DefaultFuchsiaResourceDialect>
pub fn read_channel_streaming_stop( &self, handle: &HandleId, ) -> QueryResponseFut<ChannelReadChannelStreamingStopResult, DefaultFuchsiaResourceDialect>
Stop asynchronous reading from the given channel.
Sourcepub fn create_event(
&self,
handle: &NewHandleId,
) -> QueryResponseFut<EventCreateEventResult, DefaultFuchsiaResourceDialect>
pub fn create_event( &self, handle: &NewHandleId, ) -> QueryResponseFut<EventCreateEventResult, DefaultFuchsiaResourceDialect>
Create a new event in this FDomain and return it.
Sourcepub fn create_event_pair(
&self,
handles: &[NewHandleId; 2],
) -> QueryResponseFut<EventPairCreateEventPairResult, DefaultFuchsiaResourceDialect>
pub fn create_event_pair( &self, handles: &[NewHandleId; 2], ) -> QueryResponseFut<EventPairCreateEventPairResult, DefaultFuchsiaResourceDialect>
Create a new event pair in this FDomain and return both its ends.
Sourcepub fn create_socket(
&self,
options: SocketType,
handles: &[NewHandleId; 2],
) -> QueryResponseFut<SocketCreateSocketResult, DefaultFuchsiaResourceDialect>
pub fn create_socket( &self, options: SocketType, handles: &[NewHandleId; 2], ) -> QueryResponseFut<SocketCreateSocketResult, DefaultFuchsiaResourceDialect>
Create a new socket in this FDomain and return both its ends.
Sourcepub fn set_socket_disposition(
&self,
handle: &HandleId,
disposition: SocketDisposition,
disposition_peer: SocketDisposition,
) -> QueryResponseFut<SocketSetSocketDispositionResult, DefaultFuchsiaResourceDialect>
pub fn set_socket_disposition( &self, handle: &HandleId, disposition: SocketDisposition, disposition_peer: SocketDisposition, ) -> QueryResponseFut<SocketSetSocketDispositionResult, DefaultFuchsiaResourceDialect>
Set the disposition of a given socket.
Sourcepub fn read_socket(
&self,
handle: &HandleId,
max_bytes: u64,
) -> QueryResponseFut<SocketReadSocketResult, DefaultFuchsiaResourceDialect>
pub fn read_socket( &self, handle: &HandleId, max_bytes: u64, ) -> QueryResponseFut<SocketReadSocketResult, DefaultFuchsiaResourceDialect>
Read data from a socket. This method will fail if the socket is currently being read asynchronously.
Sourcepub fn write_socket(
&self,
handle: &HandleId,
data: &[u8],
) -> QueryResponseFut<SocketWriteSocketResult, DefaultFuchsiaResourceDialect>
pub fn write_socket( &self, handle: &HandleId, data: &[u8], ) -> QueryResponseFut<SocketWriteSocketResult, DefaultFuchsiaResourceDialect>
Write to a socket. This will attempt to write all the data passed, and
will block and retry whenever it is safe (e.g. it should never return
SHOULD_WAIT). The WriteSocketError contains a wrote parameter to
indicate if some bytes were written successfully before the failure
occurred.
Sourcepub fn read_socket_streaming_start(
&self,
handle: &HandleId,
) -> QueryResponseFut<SocketReadSocketStreamingStartResult, DefaultFuchsiaResourceDialect>
pub fn read_socket_streaming_start( &self, handle: &HandleId, ) -> QueryResponseFut<SocketReadSocketStreamingStartResult, DefaultFuchsiaResourceDialect>
Starts reading from the given socket. Data is returned via the SocketStreamingData event. That
event will occur repeatedly until ReadSocketStreamingStop is called for the same handle or the
event indicates the handle is closed.
Sourcepub fn read_socket_streaming_stop(
&self,
handle: &HandleId,
) -> QueryResponseFut<SocketReadSocketStreamingStopResult, DefaultFuchsiaResourceDialect>
pub fn read_socket_streaming_stop( &self, handle: &HandleId, ) -> QueryResponseFut<SocketReadSocketStreamingStopResult, DefaultFuchsiaResourceDialect>
Stop asynchronous reading from the given socket.
Sourcepub fn get_namespace(
&self,
new_handle: &NewHandleId,
) -> QueryResponseFut<FDomainGetNamespaceResult, DefaultFuchsiaResourceDialect>
pub fn get_namespace( &self, new_handle: &NewHandleId, ) -> QueryResponseFut<FDomainGetNamespaceResult, DefaultFuchsiaResourceDialect>
Adds a new channel handle to this namespace which points to a fuchsia.io.Directory. Can be used to “bootstrap” the FDomain.
Sourcepub fn close(
&self,
handles: &[HandleId],
) -> QueryResponseFut<FDomainCloseResult, DefaultFuchsiaResourceDialect>
pub fn close( &self, handles: &[HandleId], ) -> QueryResponseFut<FDomainCloseResult, DefaultFuchsiaResourceDialect>
Close one or more handles.
Sourcepub fn duplicate(
&self,
handle: &HandleId,
new_handle: &NewHandleId,
rights: Rights,
) -> QueryResponseFut<FDomainDuplicateResult, DefaultFuchsiaResourceDialect>
pub fn duplicate( &self, handle: &HandleId, new_handle: &NewHandleId, rights: Rights, ) -> QueryResponseFut<FDomainDuplicateResult, DefaultFuchsiaResourceDialect>
Duplicate a handle.
Sourcepub fn replace(
&self,
handle: &HandleId,
new_handle: &NewHandleId,
rights: Rights,
) -> QueryResponseFut<FDomainReplaceResult, DefaultFuchsiaResourceDialect>
pub fn replace( &self, handle: &HandleId, new_handle: &NewHandleId, rights: Rights, ) -> QueryResponseFut<FDomainReplaceResult, DefaultFuchsiaResourceDialect>
Close a handle and replace it with a new one with possibly different rights.
Sourcepub fn signal(
&self,
handle: &HandleId,
set: u32,
clear: u32,
) -> QueryResponseFut<FDomainSignalResult, DefaultFuchsiaResourceDialect>
pub fn signal( &self, handle: &HandleId, set: u32, clear: u32, ) -> QueryResponseFut<FDomainSignalResult, DefaultFuchsiaResourceDialect>
Set or clear signals on a handle.
Sourcepub fn signal_peer(
&self,
handle: &HandleId,
set: u32,
clear: u32,
) -> QueryResponseFut<FDomainSignalPeerResult, DefaultFuchsiaResourceDialect>
pub fn signal_peer( &self, handle: &HandleId, set: u32, clear: u32, ) -> QueryResponseFut<FDomainSignalPeerResult, DefaultFuchsiaResourceDialect>
Set or clear signals on a handle’s peer.
Sourcepub fn wait_for_signals(
&self,
handle: &HandleId,
signals: u32,
) -> QueryResponseFut<FDomainWaitForSignalsResult, DefaultFuchsiaResourceDialect>
pub fn wait_for_signals( &self, handle: &HandleId, signals: u32, ) -> QueryResponseFut<FDomainWaitForSignalsResult, DefaultFuchsiaResourceDialect>
Wait for signals from the given handle. Reply will be returned when one of the given signals is asserted.
Sourcepub fn get_koid(
&self,
handle: &HandleId,
) -> QueryResponseFut<FDomainGetKoidResult, DefaultFuchsiaResourceDialect>
pub fn get_koid( &self, handle: &HandleId, ) -> QueryResponseFut<FDomainGetKoidResult, DefaultFuchsiaResourceDialect>
Return the kernel object ID (koid) of the handle.
Trait Implementations§
Source§impl Clone for FDomainProxy
impl Clone for FDomainProxy
Source§fn clone(&self) -> FDomainProxy
fn clone(&self) -> FDomainProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FDomainProxy
impl Debug for FDomainProxy
Source§impl FDomainProxyInterface for FDomainProxy
impl FDomainProxyInterface for FDomainProxy
type CreateChannelResponseFut = QueryResponseFut<Result<(), Error>>
type ReadChannelResponseFut = QueryResponseFut<Result<(Vec<u8>, Vec<HandleInfo>), Error>>
type WriteChannelResponseFut = QueryResponseFut<Result<(), WriteChannelError>>
type ReadChannelStreamingStartResponseFut = QueryResponseFut<Result<(), Error>>
type ReadChannelStreamingStopResponseFut = QueryResponseFut<Result<(), Error>>
type CreateEventResponseFut = QueryResponseFut<Result<(), Error>>
type CreateEventPairResponseFut = QueryResponseFut<Result<(), Error>>
type CreateSocketResponseFut = QueryResponseFut<Result<(), Error>>
type SetSocketDispositionResponseFut = QueryResponseFut<Result<(), Error>>
type ReadSocketResponseFut = QueryResponseFut<Result<(Vec<u8>, bool), Error>>
type WriteSocketResponseFut = QueryResponseFut<Result<u64, WriteSocketError>>
type ReadSocketStreamingStartResponseFut = QueryResponseFut<Result<(), Error>>
type ReadSocketStreamingStopResponseFut = QueryResponseFut<Result<(), Error>>
type GetNamespaceResponseFut = QueryResponseFut<Result<(), Error>>
type CloseResponseFut = QueryResponseFut<Result<(), Error>>
type DuplicateResponseFut = QueryResponseFut<Result<(), Error>>
type ReplaceResponseFut = QueryResponseFut<Result<(), Error>>
type SignalResponseFut = QueryResponseFut<Result<(), Error>>
type SignalPeerResponseFut = QueryResponseFut<Result<(), Error>>
type WaitForSignalsResponseFut = QueryResponseFut<Result<u32, Error>>
type GetKoidResponseFut = QueryResponseFut<Result<u64, Error>>
fn create_channel( &self, handles: &[NewHandleId; 2], ) -> Self::CreateChannelResponseFut
fn read_channel(&self, handle: &HandleId) -> Self::ReadChannelResponseFut
fn write_channel( &self, handle: &HandleId, data: &[u8], handles: &Handles, ) -> Self::WriteChannelResponseFut
fn read_channel_streaming_start( &self, handle: &HandleId, ) -> Self::ReadChannelStreamingStartResponseFut
fn read_channel_streaming_stop( &self, handle: &HandleId, ) -> Self::ReadChannelStreamingStopResponseFut
fn create_event(&self, handle: &NewHandleId) -> Self::CreateEventResponseFut
fn create_event_pair( &self, handles: &[NewHandleId; 2], ) -> Self::CreateEventPairResponseFut
fn create_socket( &self, options: SocketType, handles: &[NewHandleId; 2], ) -> Self::CreateSocketResponseFut
fn set_socket_disposition( &self, handle: &HandleId, disposition: SocketDisposition, disposition_peer: SocketDisposition, ) -> Self::SetSocketDispositionResponseFut
fn read_socket( &self, handle: &HandleId, max_bytes: u64, ) -> Self::ReadSocketResponseFut
fn write_socket( &self, handle: &HandleId, data: &[u8], ) -> Self::WriteSocketResponseFut
fn read_socket_streaming_start( &self, handle: &HandleId, ) -> Self::ReadSocketStreamingStartResponseFut
fn read_socket_streaming_stop( &self, handle: &HandleId, ) -> Self::ReadSocketStreamingStopResponseFut
fn get_namespace( &self, new_handle: &NewHandleId, ) -> Self::GetNamespaceResponseFut
fn close(&self, handles: &[HandleId]) -> Self::CloseResponseFut
fn duplicate( &self, handle: &HandleId, new_handle: &NewHandleId, rights: Rights, ) -> Self::DuplicateResponseFut
fn replace( &self, handle: &HandleId, new_handle: &NewHandleId, rights: Rights, ) -> Self::ReplaceResponseFut
fn signal( &self, handle: &HandleId, set: u32, clear: u32, ) -> Self::SignalResponseFut
fn signal_peer( &self, handle: &HandleId, set: u32, clear: u32, ) -> Self::SignalPeerResponseFut
fn wait_for_signals( &self, handle: &HandleId, signals: u32, ) -> Self::WaitForSignalsResponseFut
fn get_koid(&self, handle: &HandleId) -> Self::GetKoidResponseFut
Source§impl Proxy for FDomainProxy
impl Proxy for FDomainProxy
Source§type Protocol = FDomainMarker
type Protocol = FDomainMarker
Proxy controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Source§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Source§fn on_closed(&self) -> OnSignals<'_, Unowned<'_, NullableHandle>>
fn on_closed(&self) -> OnSignals<'_, Unowned<'_, NullableHandle>>
PEER_CLOSED signal.