Skip to main content

FDomainSynchronousProxy

Struct FDomainSynchronousProxy 

Source
pub struct FDomainSynchronousProxy { /* private fields */ }

Implementations§

Source§

impl FDomainSynchronousProxy

Source

pub fn new(channel: Channel) -> Self

Source

pub fn into_channel(self) -> Channel

Source

pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<FDomainEvent, Error>

Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.

Source

pub fn create_channel( &self, handles: &[NewHandleId; 2], ___deadline: MonotonicInstant, ) -> Result<ChannelCreateChannelResult, Error>

Create a new channel in this FDomain and return both its ends.

Source

pub fn read_channel( &self, handle: &HandleId, ___deadline: MonotonicInstant, ) -> Result<ChannelReadChannelResult, Error>

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.

Source

pub fn write_channel( &self, handle: &HandleId, data: &[u8], handles: &Handles, ___deadline: MonotonicInstant, ) -> Result<ChannelWriteChannelResult, Error>

Write to a channel. Handles are always consumed.

Source

pub fn read_channel_streaming_start( &self, handle: &HandleId, ___deadline: MonotonicInstant, ) -> Result<ChannelReadChannelStreamingStartResult, Error>

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.

Source

pub fn read_channel_streaming_stop( &self, handle: &HandleId, ___deadline: MonotonicInstant, ) -> Result<ChannelReadChannelStreamingStopResult, Error>

Stop asynchronous reading from the given channel.

Source

pub fn create_event( &self, handle: &NewHandleId, ___deadline: MonotonicInstant, ) -> Result<EventCreateEventResult, Error>

Create a new event in this FDomain and return it.

Source

pub fn create_event_pair( &self, handles: &[NewHandleId; 2], ___deadline: MonotonicInstant, ) -> Result<EventPairCreateEventPairResult, Error>

Create a new event pair in this FDomain and return both its ends.

Source

pub fn create_socket( &self, options: SocketType, handles: &[NewHandleId; 2], ___deadline: MonotonicInstant, ) -> Result<SocketCreateSocketResult, Error>

Create a new socket in this FDomain and return both its ends.

Source

pub fn set_socket_disposition( &self, handle: &HandleId, disposition: SocketDisposition, disposition_peer: SocketDisposition, ___deadline: MonotonicInstant, ) -> Result<SocketSetSocketDispositionResult, Error>

Set the disposition of a given socket.

Source

pub fn read_socket( &self, handle: &HandleId, max_bytes: u64, ___deadline: MonotonicInstant, ) -> Result<SocketReadSocketResult, Error>

Read data from a socket. This method will fail if the socket is currently being read asynchronously.

Source

pub fn write_socket( &self, handle: &HandleId, data: &[u8], ___deadline: MonotonicInstant, ) -> Result<SocketWriteSocketResult, Error>

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.

Source

pub fn read_socket_streaming_start( &self, handle: &HandleId, ___deadline: MonotonicInstant, ) -> Result<SocketReadSocketStreamingStartResult, Error>

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.

Source

pub fn read_socket_streaming_stop( &self, handle: &HandleId, ___deadline: MonotonicInstant, ) -> Result<SocketReadSocketStreamingStopResult, Error>

Stop asynchronous reading from the given socket.

Source

pub fn get_namespace( &self, new_handle: &NewHandleId, ___deadline: MonotonicInstant, ) -> Result<FDomainGetNamespaceResult, Error>

Adds a new channel handle to this namespace which points to a fuchsia.io.Directory. Can be used to “bootstrap” the FDomain.

Source

pub fn close( &self, handles: &[HandleId], ___deadline: MonotonicInstant, ) -> Result<FDomainCloseResult, Error>

Close one or more handles.

Source

pub fn duplicate( &self, handle: &HandleId, new_handle: &NewHandleId, rights: Rights, ___deadline: MonotonicInstant, ) -> Result<FDomainDuplicateResult, Error>

Duplicate a handle.

Source

pub fn replace( &self, handle: &HandleId, new_handle: &NewHandleId, rights: Rights, ___deadline: MonotonicInstant, ) -> Result<FDomainReplaceResult, Error>

Close a handle and replace it with a new one with possibly different rights.

Source

pub fn signal( &self, handle: &HandleId, set: u32, clear: u32, ___deadline: MonotonicInstant, ) -> Result<FDomainSignalResult, Error>

Set or clear signals on a handle.

Source

pub fn signal_peer( &self, handle: &HandleId, set: u32, clear: u32, ___deadline: MonotonicInstant, ) -> Result<FDomainSignalPeerResult, Error>

Set or clear signals on a handle’s peer.

Source

pub fn wait_for_signals( &self, handle: &HandleId, signals: u32, ___deadline: MonotonicInstant, ) -> Result<FDomainWaitForSignalsResult, Error>

Wait for signals from the given handle. Reply will be returned when one of the given signals is asserted.

Source

pub fn get_koid( &self, handle: &HandleId, ___deadline: MonotonicInstant, ) -> Result<FDomainGetKoidResult, Error>

Return the kernel object ID (koid) of the handle.

Trait Implementations§

Source§

impl Debug for FDomainSynchronousProxy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<Channel> for FDomainSynchronousProxy

Available on Fuchsia only.
Source§

fn from(value: Channel) -> Self

Converts to this type from the input type.
Source§

impl From<FDomainSynchronousProxy> for NullableHandle

Available on Fuchsia only.
Source§

fn from(value: FDomainSynchronousProxy) -> Self

Converts to this type from the input type.
Source§

impl FromClient for FDomainSynchronousProxy

Available on Fuchsia only.
Source§

type Protocol = FDomainMarker

The protocol.
Source§

fn from_client(value: ClientEnd<FDomainMarker>) -> Self

Converts from a client.
Source§

impl SynchronousProxy for FDomainSynchronousProxy

Available on Fuchsia only.
Source§

type Proxy = FDomainProxy

The async proxy for the same protocol.
Source§

type Protocol = FDomainMarker

The protocol which this Proxy controls.
Source§

fn from_channel(inner: Channel) -> Self

Create a proxy over the given channel.
Source§

fn into_channel(self) -> Channel

Convert the proxy back into a channel.
Source§

fn as_channel(&self) -> &Channel

Get a reference to the proxy’s underlying channel. Read more
Source§

fn is_closed(&self) -> Result<bool, Status>

Returns true if the proxy has received the PEER_CLOSED signal. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.