pub struct QrtrClientConnectionProxy { /* private fields */ }Implementations§
Source§impl QrtrClientConnectionProxy
impl QrtrClientConnectionProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.hardware.qualcomm.router/QrtrClientConnection.
Sourcepub fn take_event_stream(&self) -> QrtrClientConnectionEventStream
pub fn take_event_stream(&self) -> QrtrClientConnectionEventStream
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<QrtrClientConnectionReadResult, DefaultFuchsiaResourceDialect>
pub fn read( &self, ) -> QueryResponseFut<QrtrClientConnectionReadResult, DefaultFuchsiaResourceDialect>
Reads a QRTR frame via the connection.
Only one read request can be performed at a time.
src_node_id: Source node ID of the QRTR frame.src_port: Source port of the QRTR frame.data: QRTR payload.
- Errors:
WOULD_BLOCK: Cannot read; should wait in non-blocking mode.ALREADY_PENDING: More than one read operation is pending in blocking mode.INTERNAL_ERROR: Unexpected QRTR error.
Sourcepub fn write(
&self,
dst_node_id: u32,
dst_port: u32,
data: &[u8],
) -> QueryResponseFut<QrtrClientConnectionWriteResult, DefaultFuchsiaResourceDialect>
pub fn write( &self, dst_node_id: u32, dst_port: u32, data: &[u8], ) -> QueryResponseFut<QrtrClientConnectionWriteResult, DefaultFuchsiaResourceDialect>
Writes a QRTR frame.
Only one write request can be performed at a time.
- Errors:
WOULD_BLOCK: Cannot write; should wait in non-blocking mode.ALREADY_PENDING: More than one write operation is pending in blocking mode.REMOTE_NODE_UNAVAILABLE: Target node unavailable.INTERNAL_ERROR: Unexpected QRTR error.
Sourcepub fn get_signals(
&self,
) -> QueryResponseFut<EventPair, DefaultFuchsiaResourceDialect>
pub fn get_signals( &self, ) -> QueryResponseFut<EventPair, DefaultFuchsiaResourceDialect>
Retrieves the signals eventpair.
- response
signalsan eventpair that is signalled withSIGNAL_READABLEandSIGNAL_WRITABLEwhen read and write buffers are available, respectively.
Sourcepub fn get_port_id(
&self,
) -> QueryResponseFut<u32, DefaultFuchsiaResourceDialect>
pub fn get_port_id( &self, ) -> QueryResponseFut<u32, DefaultFuchsiaResourceDialect>
Retrieves the port id.
Sourcepub fn get_node_id(
&self,
) -> QueryResponseFut<u32, DefaultFuchsiaResourceDialect>
pub fn get_node_id( &self, ) -> QueryResponseFut<u32, DefaultFuchsiaResourceDialect>
Retrieves the node id of AP.
Sourcepub fn close_connection(
&self,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn close_connection( &self, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
Close the connection.
Server end drops its end of the channel after replying. This can be used for synchronous resource release.
Trait Implementations§
Source§impl Clone for QrtrClientConnectionProxy
impl Clone for QrtrClientConnectionProxy
Source§fn clone(&self) -> QrtrClientConnectionProxy
fn clone(&self) -> QrtrClientConnectionProxy
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 QrtrClientConnectionProxy
impl Debug for QrtrClientConnectionProxy
Source§impl Proxy for QrtrClientConnectionProxy
impl Proxy for QrtrClientConnectionProxy
Source§type Protocol = QrtrClientConnectionMarker
type Protocol = QrtrClientConnectionMarker
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 QrtrClientConnectionProxyInterface for QrtrClientConnectionProxy
impl QrtrClientConnectionProxyInterface for QrtrClientConnectionProxy
type ReadResponseFut = QueryResponseFut<Result<(u32, u32, Vec<u8>), Error>>
type WriteResponseFut = QueryResponseFut<Result<(), Error>>
type GetSignalsResponseFut = QueryResponseFut<EventPair>
type GetPortIdResponseFut = QueryResponseFut<u32>
type GetNodeIdResponseFut = QueryResponseFut<u32>
type CloseConnectionResponseFut = QueryResponseFut<()>
fn read(&self) -> Self::ReadResponseFut
fn write( &self, dst_node_id: u32, dst_port: u32, data: &[u8], ) -> Self::WriteResponseFut
fn get_signals(&self) -> Self::GetSignalsResponseFut
fn get_port_id(&self) -> Self::GetPortIdResponseFut
fn get_node_id(&self) -> Self::GetNodeIdResponseFut
fn close_connection(&self) -> Self::CloseConnectionResponseFut
Auto Trait Implementations§
impl Freeze for QrtrClientConnectionProxy
impl !RefUnwindSafe for QrtrClientConnectionProxy
impl Send for QrtrClientConnectionProxy
impl Sync for QrtrClientConnectionProxy
impl Unpin for QrtrClientConnectionProxy
impl UnsafeUnpin for QrtrClientConnectionProxy
impl !UnwindSafe for QrtrClientConnectionProxy
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.