Struct embassy_sync::pubsub::subscriber::Subscriber
source · pub struct Subscriber<'a, M: RawMutex, T: Clone, const CAP: usize, const SUBS: usize, const PUBS: usize>(/* private fields */);
Expand description
A subscriber that holds a generic reference to the channel
Methods from Deref<Target = Sub<'a, PubSubChannel<M, T, CAP, SUBS, PUBS>, T>>§
sourcepub fn next_message<'s>(&'s mut self) -> SubscriberWaitFuture<'s, 'a, PSB, T> ⓘ
pub fn next_message<'s>(&'s mut self) -> SubscriberWaitFuture<'s, 'a, PSB, T> ⓘ
Wait for a published message
sourcepub async fn next_message_pure(&mut self) -> T
pub async fn next_message_pure(&mut self) -> T
Wait for a published message (ignoring lag results)
sourcepub fn try_next_message(&mut self) -> Option<WaitResult<T>>
pub fn try_next_message(&mut self) -> Option<WaitResult<T>>
Try to see if there’s a published message we haven’t received yet.
This function does not peek. The message is received if there is one.
sourcepub fn try_next_message_pure(&mut self) -> Option<T>
pub fn try_next_message_pure(&mut self) -> Option<T>
Try to see if there’s a published message we haven’t received yet (ignoring lag results).
This function does not peek. The message is received if there is one.
sourcepub fn available(&self) -> u64
pub fn available(&self) -> u64
The amount of messages this subscriber hasn’t received yet. This is like Self::len but specifically for this subscriber.
sourcepub fn free_capacity(&self) -> usize
pub fn free_capacity(&self) -> usize
Returns the free capacity of the channel.
This is equivalent to capacity() - len()
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of elements currently in the channel. See Self::available for how many messages are available for this subscriber.