pub struct UnixDomainSocketProxy { /* private fields */ }
Implementations§
Source§impl UnixDomainSocketProxy
impl UnixDomainSocketProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.starnix.binder/UnixDomainSocket.
Sourcepub fn take_event_stream(&self) -> UnixDomainSocketEventStream
pub fn take_event_stream(&self) -> UnixDomainSocketEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
pub fn clone(&self, request: ServerEnd<CloneableMarker>) -> Result<(), Error>
Sourcepub fn close(
&self,
) -> QueryResponseFut<CloseableCloseResult, DefaultFuchsiaResourceDialect>
pub fn close( &self, ) -> QueryResponseFut<CloseableCloseResult, DefaultFuchsiaResourceDialect>
Terminates the connection.
After calling Close
, the client must not send any other requests.
Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.
Closing the client end of the channel should be semantically equivalent
to calling Close
without knowing when the close has completed or its
status.
pub fn query(&self) -> QueryResponseFut<Vec<u8>, DefaultFuchsiaResourceDialect>
Sourcepub fn get_event(
&self,
payload: &UnixDomainSocketGetEventRequest,
) -> QueryResponseFut<UnixDomainSocketGetEventResult, DefaultFuchsiaResourceDialect>
pub fn get_event( &self, payload: &UnixDomainSocketGetEventRequest, ) -> QueryResponseFut<UnixDomainSocketGetEventResult, DefaultFuchsiaResourceDialect>
Returns an EventPair that will allow Starnix to wait on the socket. This event must use:
fio.FileSignal.READABLE
to signal that a message is available.fio.FileSignal.WRITABLE
to signal that it can accept a new message.ZX_EVENTPAIR_PEER_CLOSED
to signal that it is closed.
Sourcepub fn read(
&self,
payload: &UnixDomainSocketReadRequest,
) -> QueryResponseFut<UnixDomainSocketReadResult, DefaultFuchsiaResourceDialect>
pub fn read( &self, payload: &UnixDomainSocketReadRequest, ) -> QueryResponseFut<UnixDomainSocketReadResult, DefaultFuchsiaResourceDialect>
Read a message from the socket.
Sourcepub fn write(
&self,
payload: UnixDomainSocketWriteRequest,
) -> QueryResponseFut<UnixDomainSocketWriteResult, DefaultFuchsiaResourceDialect>
pub fn write( &self, payload: UnixDomainSocketWriteRequest, ) -> QueryResponseFut<UnixDomainSocketWriteResult, DefaultFuchsiaResourceDialect>
Write a message to the socket.
Trait Implementations§
Source§impl Clone for UnixDomainSocketProxy
impl Clone for UnixDomainSocketProxy
Source§fn clone(&self) -> UnixDomainSocketProxy
fn clone(&self) -> UnixDomainSocketProxy
Returns a copy 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 UnixDomainSocketProxy
impl Debug for UnixDomainSocketProxy
Source§impl Proxy for UnixDomainSocketProxy
impl Proxy for UnixDomainSocketProxy
Source§type Protocol = UnixDomainSocketMarker
type Protocol = UnixDomainSocketMarker
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
§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§impl UnixDomainSocketProxyInterface for UnixDomainSocketProxy
impl UnixDomainSocketProxyInterface for UnixDomainSocketProxy
type CloseResponseFut = QueryResponseFut<Result<(), i32>>
type QueryResponseFut = QueryResponseFut<Vec<u8>>
type GetEventResponseFut = QueryResponseFut<Result<UnixDomainSocketGetEventResponse, i32>>
type ReadResponseFut = QueryResponseFut<Result<UnixDomainSocketReadResponse, i32>>
type WriteResponseFut = QueryResponseFut<Result<UnixDomainSocketWriteResponse, i32>>
fn clone(&self, request: ServerEnd<CloneableMarker>) -> Result<(), Error>
fn close(&self) -> Self::CloseResponseFut
fn query(&self) -> Self::QueryResponseFut
fn get_event( &self, payload: &UnixDomainSocketGetEventRequest, ) -> Self::GetEventResponseFut
fn read(&self, payload: &UnixDomainSocketReadRequest) -> Self::ReadResponseFut
fn write(&self, payload: UnixDomainSocketWriteRequest) -> Self::WriteResponseFut
Auto Trait Implementations§
impl Freeze for UnixDomainSocketProxy
impl !RefUnwindSafe for UnixDomainSocketProxy
impl Send for UnixDomainSocketProxy
impl Sync for UnixDomainSocketProxy
impl Unpin for UnixDomainSocketProxy
impl !UnwindSafe for UnixDomainSocketProxy
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.