pub enum FDomainRequest {
Show 22 variants
CreateChannel {
handles: [NewHandleId; 2],
responder: FDomainCreateChannelResponder,
},
ReadChannel {
handle: HandleId,
responder: FDomainReadChannelResponder,
},
WriteChannel {
handle: HandleId,
data: Vec<u8>,
handles: Handles,
responder: FDomainWriteChannelResponder,
},
ReadChannelStreamingStart {
handle: HandleId,
responder: FDomainReadChannelStreamingStartResponder,
},
ReadChannelStreamingStop {
handle: HandleId,
responder: FDomainReadChannelStreamingStopResponder,
},
CreateEvent {
handle: NewHandleId,
responder: FDomainCreateEventResponder,
},
CreateEventPair {
handles: [NewHandleId; 2],
responder: FDomainCreateEventPairResponder,
},
CreateSocket {
options: SocketType,
handles: [NewHandleId; 2],
responder: FDomainCreateSocketResponder,
},
SetSocketDisposition {
handle: HandleId,
disposition: SocketDisposition,
disposition_peer: SocketDisposition,
responder: FDomainSetSocketDispositionResponder,
},
ReadSocket {
handle: HandleId,
max_bytes: u64,
responder: FDomainReadSocketResponder,
},
WriteSocket {
handle: HandleId,
data: Vec<u8>,
responder: FDomainWriteSocketResponder,
},
ReadSocketStreamingStart {
handle: HandleId,
responder: FDomainReadSocketStreamingStartResponder,
},
ReadSocketStreamingStop {
handle: HandleId,
responder: FDomainReadSocketStreamingStopResponder,
},
GetNamespace {
new_handle: NewHandleId,
responder: FDomainGetNamespaceResponder,
},
Close {
handles: Vec<HandleId>,
responder: FDomainCloseResponder,
},
Duplicate {
handle: HandleId,
new_handle: NewHandleId,
rights: Rights,
responder: FDomainDuplicateResponder,
},
Replace {
handle: HandleId,
new_handle: NewHandleId,
rights: Rights,
responder: FDomainReplaceResponder,
},
Signal {
handle: HandleId,
set: u32,
clear: u32,
responder: FDomainSignalResponder,
},
SignalPeer {
handle: HandleId,
set: u32,
clear: u32,
responder: FDomainSignalPeerResponder,
},
WaitForSignals {
handle: HandleId,
signals: u32,
responder: FDomainWaitForSignalsResponder,
},
GetKoid {
handle: HandleId,
responder: FDomainGetKoidResponder,
},
#[non_exhaustive] _UnknownMethod {
ordinal: u64,
control_handle: FDomainControlHandle,
method_type: MethodType,
},
}Expand description
The FDomain control protocol.
This protocol is designed to be used over a network or other non-channel transport.
Variants§
CreateChannel
Create a new channel in this FDomain and return both its ends.
ReadChannel
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.
WriteChannel
Write to a channel. Handles are always consumed.
ReadChannelStreamingStart
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.
ReadChannelStreamingStop
Stop asynchronous reading from the given channel.
CreateEvent
Create a new event in this FDomain and return it.
CreateEventPair
Create a new event pair in this FDomain and return both its ends.
CreateSocket
Create a new socket in this FDomain and return both its ends.
SetSocketDisposition
Set the disposition of a given socket.
Fields
disposition: SocketDispositiondisposition_peer: SocketDispositionresponder: FDomainSetSocketDispositionResponderReadSocket
Read data from a socket. This method will fail if the socket is currently being read asynchronously.
WriteSocket
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.
ReadSocketStreamingStart
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.
ReadSocketStreamingStop
Stop asynchronous reading from the given socket.
GetNamespace
Adds a new channel handle to this namespace which points to a fuchsia.io.Directory. Can be used to “bootstrap” the FDomain.
Close
Close one or more handles.
Duplicate
Duplicate a handle.
Replace
Close a handle and replace it with a new one with possibly different rights.
Signal
Set or clear signals on a handle.
SignalPeer
Set or clear signals on a handle’s peer.
WaitForSignals
Wait for signals from the given handle. Reply will be returned when one of the given signals is asserted.
GetKoid
Return the kernel object ID (koid) of the handle.
#[non_exhaustive]_UnknownMethod
An interaction was received which does not match any known method.
Fields
This variant is marked as non-exhaustive
control_handle: FDomainControlHandlemethod_type: MethodTypeImplementations§
Source§impl FDomainRequest
impl FDomainRequest
pub fn into_create_channel( self, ) -> Option<([NewHandleId; 2], FDomainCreateChannelResponder)>
pub fn into_read_channel( self, ) -> Option<(HandleId, FDomainReadChannelResponder)>
pub fn into_write_channel( self, ) -> Option<(HandleId, Vec<u8>, Handles, FDomainWriteChannelResponder)>
pub fn into_read_channel_streaming_start( self, ) -> Option<(HandleId, FDomainReadChannelStreamingStartResponder)>
pub fn into_read_channel_streaming_stop( self, ) -> Option<(HandleId, FDomainReadChannelStreamingStopResponder)>
pub fn into_create_event( self, ) -> Option<(NewHandleId, FDomainCreateEventResponder)>
pub fn into_create_event_pair( self, ) -> Option<([NewHandleId; 2], FDomainCreateEventPairResponder)>
pub fn into_create_socket( self, ) -> Option<(SocketType, [NewHandleId; 2], FDomainCreateSocketResponder)>
pub fn into_set_socket_disposition( self, ) -> Option<(HandleId, SocketDisposition, SocketDisposition, FDomainSetSocketDispositionResponder)>
pub fn into_read_socket( self, ) -> Option<(HandleId, u64, FDomainReadSocketResponder)>
pub fn into_write_socket( self, ) -> Option<(HandleId, Vec<u8>, FDomainWriteSocketResponder)>
pub fn into_read_socket_streaming_start( self, ) -> Option<(HandleId, FDomainReadSocketStreamingStartResponder)>
pub fn into_read_socket_streaming_stop( self, ) -> Option<(HandleId, FDomainReadSocketStreamingStopResponder)>
pub fn into_get_namespace( self, ) -> Option<(NewHandleId, FDomainGetNamespaceResponder)>
pub fn into_close(self) -> Option<(Vec<HandleId>, FDomainCloseResponder)>
pub fn into_duplicate( self, ) -> Option<(HandleId, NewHandleId, Rights, FDomainDuplicateResponder)>
pub fn into_replace( self, ) -> Option<(HandleId, NewHandleId, Rights, FDomainReplaceResponder)>
pub fn into_signal(self) -> Option<(HandleId, u32, u32, FDomainSignalResponder)>
pub fn into_signal_peer( self, ) -> Option<(HandleId, u32, u32, FDomainSignalPeerResponder)>
pub fn into_wait_for_signals( self, ) -> Option<(HandleId, u32, FDomainWaitForSignalsResponder)>
pub fn into_get_koid(self) -> Option<(HandleId, FDomainGetKoidResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL