Struct ChannelBuilder

Source
pub struct ChannelBuilder<'a, T> { /* private fields */ }
Expand description

Builder type for creating channels.

Create a ChannelBuilder either with Handle::create_channel or ChannelBuilder::new.

The ChannelBuilder is used to specify which of the channels ends will be claimed by the local client.

Note that this type is Copy and is thus not consumed by any of its methods.

Implementations§

Source§

impl<'a, T> ChannelBuilder<'a, T>

Source

pub fn new(client: &'a Handle) -> Self

Creates a new ChannelBuilder.

Alternatively, Handle::create_channel can be more convenient to use, because it usually avoids the need to import ChannelBuilder.

// Option 1
let builder = ChannelBuilder::<String>::new(&handle);

// Option 2
let builder = handle.create_channel::<String>();

It’s not usually necessary to specify the item’s type explicitly, because it can be deferred by the compiler in many cases.

Source

pub fn client(self) -> &'a Handle

Returns a Handle to the associated client.

Source

pub fn cast<U>(self) -> ChannelBuilder<'a, U>

Casts the item type to a different type U.

Source

pub async fn claim_sender( self, ) -> Result<(PendingSender<T>, UnclaimedReceiver<T>), Error>

Creates a new channel and claims the sender.

Source

pub async fn claim_receiver( self, capacity: u32, ) -> Result<(UnclaimedSender<T>, PendingReceiver<T>), Error>

Creates a new channel and claims the receiver.

A capacity of 0 will be treated as if 1 was specified instead.

Trait Implementations§

Source§

impl<T> Clone for ChannelBuilder<'_, T>

Source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for ChannelBuilder<'_, T>

Source§

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

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

impl<T> Copy for ChannelBuilder<'_, T>

Auto Trait Implementations§

§

impl<'a, T> Freeze for ChannelBuilder<'a, T>

§

impl<'a, T> !RefUnwindSafe for ChannelBuilder<'a, T>

§

impl<'a, T> Send for ChannelBuilder<'a, T>

§

impl<'a, T> Sync for ChannelBuilder<'a, T>

§

impl<'a, T> Unpin for ChannelBuilder<'a, T>

§

impl<'a, T> !UnwindSafe for ChannelBuilder<'a, T>

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> CloneToUninit for T
where T: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.

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.