Struct async_broadcast::InactiveReceiver [−][src]
pub struct InactiveReceiver<T> { /* fields omitted */ }
Expand description
An inactive receiver.
An inactive receiver is a receiver that is unable to receive messages. It’s only useful for keeping a channel open even when no associated active receivers exist.
Implementations
impl<T> InactiveReceiver<T>
[src]
impl<T> InactiveReceiver<T>
[src]pub fn activate(self) -> Receiver<T>
[src]
pub fn activate(self) -> Receiver<T>
[src]Convert to an activate Receiver
.
Consumes self
. Use InactiveReceiver::activate_cloned
if you want to keep self
.
Examples
use async_broadcast::{broadcast, TrySendError}; let (s, r) = broadcast(1); let inactive = r.deactivate(); assert_eq!(s.try_broadcast(10), Err(TrySendError::Inactive(10))); let mut r = inactive.activate(); assert_eq!(s.try_broadcast(10), Ok(None)); assert_eq!(r.try_recv(), Ok(10));
pub fn activate_cloned(&self) -> Receiver<T>
[src]
pub fn activate_cloned(&self) -> Receiver<T>
[src]Create an activate Receiver
for the associated channel.
Examples
use async_broadcast::{broadcast, TrySendError}; let (s, r) = broadcast(1); let inactive = r.deactivate(); assert_eq!(s.try_broadcast(10), Err(TrySendError::Inactive(10))); let mut r = inactive.activate_cloned(); assert_eq!(s.try_broadcast(10), Ok(None)); assert_eq!(r.try_recv(), Ok(10));
pub fn capacity(&self) -> usize
[src]
pub fn capacity(&self) -> usize
[src]Returns the channel capacity.
See Receiver::capacity
documentation for examples.
pub fn set_capacity(&mut self, new_cap: usize)
[src]
pub fn set_capacity(&mut self, new_cap: usize)
[src]Set the channel capacity.
There are times when you need to change the channel’s capacity after creating it. If the
new_cap
is less than the number of messages in the channel, the oldest messages will be
dropped to shrink the channel.
See Receiver::set_capacity
documentation for examples.
pub fn overflow(&self) -> bool
[src]
pub fn overflow(&self) -> bool
[src]If overflow mode is enabled on this channel.
See Receiver::overflow
documentation for examples.
pub fn set_overflow(&mut self, overflow: bool)
[src]
pub fn set_overflow(&mut self, overflow: bool)
[src]Set overflow mode on the channel.
When overflow mode is set, broadcasting to the channel will succeed even if the channel is full. It achieves that by removing the oldest message from the channel.
See Receiver::set_overflow
documentation for examples.
pub fn close(&self) -> bool
[src]
pub fn close(&self) -> bool
[src]Closes the channel.
Returns true
if this call has closed the channel and it was not closed already.
The remaining messages can still be received.
See Receiver::close
documentation for examples.
pub fn is_closed(&self) -> bool
[src]
pub fn is_closed(&self) -> bool
[src]Returns true
if the channel is closed.
See Receiver::is_closed
documentation for examples.
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
[src]Returns true
if the channel is empty.
See Receiver::is_empty
documentation for examples.
pub fn is_full(&self) -> bool
[src]
pub fn is_full(&self) -> bool
[src]Returns true
if the channel is full.
See Receiver::is_full
documentation for examples.
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
[src]Returns the number of messages in the channel.
See Receiver::len
documentation for examples.
pub fn receiver_count(&self) -> usize
[src]
pub fn receiver_count(&self) -> usize
[src]Returns the number of receivers for the channel.
This does not include inactive receivers. Use InactiveReceiver::inactive_receiver_count
if you’re interested in that.
Examples
use async_broadcast::broadcast; let (s, r) = broadcast::<()>(1); assert_eq!(s.receiver_count(), 1); let r = r.deactivate(); assert_eq!(s.receiver_count(), 0); let r2 = r.activate_cloned(); assert_eq!(r.receiver_count(), 1); assert_eq!(r.inactive_receiver_count(), 1);
pub fn inactive_receiver_count(&self) -> usize
[src]
pub fn inactive_receiver_count(&self) -> usize
[src]Returns the number of inactive receivers for the channel.
Examples
use async_broadcast::broadcast; let (s, r) = broadcast::<()>(1); assert_eq!(s.receiver_count(), 1); let r = r.deactivate(); assert_eq!(s.receiver_count(), 0); let r2 = r.activate_cloned(); assert_eq!(r.receiver_count(), 1); assert_eq!(r.inactive_receiver_count(), 1);
pub fn sender_count(&self) -> usize
[src]
pub fn sender_count(&self) -> usize
[src]Returns the number of senders for the channel.
See Receiver::sender_count
documentation for examples.
Trait Implementations
impl<T> Clone for InactiveReceiver<T>
[src]
impl<T> Clone for InactiveReceiver<T>
[src]impl<T: Debug> Debug for InactiveReceiver<T>
[src]
impl<T: Debug> Debug for InactiveReceiver<T>
[src]Auto Trait Implementations
impl<T> RefUnwindSafe for InactiveReceiver<T>
impl<T> Send for InactiveReceiver<T> where
T: Send,
T: Send,
impl<T> Sync for InactiveReceiver<T> where
T: Send,
T: Send,
impl<T> Unpin for InactiveReceiver<T>
impl<T> UnwindSafe for InactiveReceiver<T>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more