pub struct RemoteDomainSynchronousProxy { /* private fields */ }
Implementations§
Source§impl RemoteDomainSynchronousProxy
impl RemoteDomainSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<RemoteDomainEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<RemoteDomainEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn close(&self) -> Result<(), Error>
pub fn close(&self) -> Result<(), Error>
Closes down the domain. This will release all resources associated with this domain. The server end will close the channel when this is completed.
Sourcepub fn get_payload_buffer_set(
&self,
count: u8,
___deadline: MonotonicInstant,
) -> Result<RemoteDomainGetPayloadBufferSetResult, Error>
pub fn get_payload_buffer_set( &self, count: u8, ___deadline: MonotonicInstant, ) -> Result<RemoteDomainGetPayloadBufferSetResult, Error>
Requests |count| payload buffers from the driver. The returned vector of buffers should be managed by the client entirely. When making an |Invoke| request, the client can provide the |id| of the buffer of their chosing inside the |payload_buffer_id|. The client should ensure only 1 invoke is active for each of these buffers.
Sourcepub fn invoke(
&self,
remote_thread_id: i32,
handle: u32,
method_id: u32,
payload_buffer_id: u32,
input_arguments: Vec<ArgumentEntry>,
output_arguments: Vec<ArgumentEntry>,
___deadline: MonotonicInstant,
) -> Result<RemoteDomainInvokeResult, Error>
pub fn invoke( &self, remote_thread_id: i32, handle: u32, method_id: u32, payload_buffer_id: u32, input_arguments: Vec<ArgumentEntry>, output_arguments: Vec<ArgumentEntry>, ___deadline: MonotonicInstant, ) -> Result<RemoteDomainInvokeResult, Error>
A user invocation on the remote domain.
Trait Implementations§
Source§impl Debug for RemoteDomainSynchronousProxy
impl Debug for RemoteDomainSynchronousProxy
Source§impl From<Channel> for RemoteDomainSynchronousProxy
impl From<Channel> for RemoteDomainSynchronousProxy
Source§impl From<RemoteDomainSynchronousProxy> for Handle
impl From<RemoteDomainSynchronousProxy> for Handle
Source§fn from(value: RemoteDomainSynchronousProxy) -> Self
fn from(value: RemoteDomainSynchronousProxy) -> Self
Converts to this type from the input type.
Source§impl FromClient for RemoteDomainSynchronousProxy
impl FromClient for RemoteDomainSynchronousProxy
Source§type Protocol = RemoteDomainMarker
type Protocol = RemoteDomainMarker
The protocol.
Source§fn from_client(value: ClientEnd<RemoteDomainMarker>) -> Self
fn from_client(value: ClientEnd<RemoteDomainMarker>) -> Self
Converts from a client.
Source§impl SynchronousProxy for RemoteDomainSynchronousProxy
impl SynchronousProxy for RemoteDomainSynchronousProxy
Source§type Proxy = RemoteDomainProxy
type Proxy = RemoteDomainProxy
The async proxy for the same protocol.
Source§type Protocol = RemoteDomainMarker
type Protocol = RemoteDomainMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: Channel) -> Self
fn from_channel(inner: Channel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Channel
fn into_channel(self) -> Channel
Convert the proxy back into a channel.
Source§fn as_channel(&self) -> &Channel
fn as_channel(&self) -> &Channel
Get a reference to the proxy’s underlying channel. Read more
Auto Trait Implementations§
impl Freeze for RemoteDomainSynchronousProxy
impl RefUnwindSafe for RemoteDomainSynchronousProxy
impl Send for RemoteDomainSynchronousProxy
impl Sync for RemoteDomainSynchronousProxy
impl Unpin for RemoteDomainSynchronousProxy
impl UnwindSafe for RemoteDomainSynchronousProxy
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