Struct UntypedChannel

Source
pub struct UntypedChannel { /* private fields */ }
Expand description

Represents a sender of requests tied to a session, holding onto a weak reference of mailboxes to relay responses, meaning that once the Client is closed or dropped, any sent request will no longer be able to receive responses.

In contrast to Channel, this implementation is untyped, meaning that the payload of requests and responses are not validated.

Implementations§

Source§

impl UntypedChannel

Source

pub fn is_closed(&self) -> bool

Returns true if no more requests can be transferred

Source

pub fn into_typed_channel<T, U>(self) -> Channel<T, U>

Consumes this channel, returning a typed variant

Source

pub async fn assign_default_mailbox( &self, buffer: usize, ) -> Result<Mailbox<UntypedResponse<'static>>>

Assigns a default mailbox for any response received that does not match another mailbox.

Source

pub async fn remove_default_mailbox(&self) -> Result<()>

Removes the default mailbox used for unmatched responses such that any response without a matching mailbox will be dropped.

Source

pub async fn mail( &mut self, req: UntypedRequest<'_>, ) -> Result<Mailbox<UntypedResponse<'static>>>

Sends a request and returns a mailbox that can receive one or more responses, failing if unable to send a request or if the session’s receiving line to the remote server has already been severed

Source

pub async fn mail_timeout( &mut self, req: UntypedRequest<'_>, duration: impl Into<Option<Duration>>, ) -> Result<Mailbox<UntypedResponse<'static>>>

Sends a request and returns a mailbox, timing out after duration has passed

Source

pub async fn send( &mut self, req: UntypedRequest<'_>, ) -> Result<UntypedResponse<'static>>

Sends a request and waits for a response, failing if unable to send a request or if the session’s receiving line to the remote server has already been severed

Source

pub async fn send_timeout( &mut self, req: UntypedRequest<'_>, duration: impl Into<Option<Duration>>, ) -> Result<UntypedResponse<'static>>

Sends a request and waits for a response, timing out after duration has passed

Source

pub async fn fire(&mut self, req: UntypedRequest<'_>) -> Result<()>

Sends a request without waiting for a response; this method is able to be used even if the session’s receiving line to the remote server has been severed

Source

pub async fn fire_timeout( &mut self, req: UntypedRequest<'_>, duration: impl Into<Option<Duration>>, ) -> Result<()>

Sends a request without waiting for a response, timing out after duration has passed

Trait Implementations§

Source§

impl Clone for UntypedChannel

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UntypedChannel

Source§

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

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

impl From<UntypedClient> for UntypedChannel

Source§

fn from(client: UntypedClient) -> Self

Converts to this type from the input type.

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> AsAny for T
where T: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts reference to Any
Source§

fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)

Converts mutable reference to Any
Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Consumes and produces Box<dyn Any>
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V