Struct tokio_util::sync::PollSemaphore [−][src]
pub struct PollSemaphore { /* fields omitted */ }
Expand description
A wrapper around Semaphore
that provides a poll_acquire
method.
Implementations
Obtain a clone of the inner semaphore.
Get back the inner semaphore.
Poll to acquire a permit from the semaphore.
This can return the following values:
Poll::Pending
if a permit is not currently available.Poll::Ready(Some(permit))
if a permit was acquired.Poll::Ready(None)
if the semaphore has been closed.
When this method returns Poll::Pending
, the current task is scheduled
to receive a wakeup when a permit becomes available, or when the
semaphore is closed. Note that on multiple calls to poll_acquire
, only
the Waker
from the Context
passed to the most recent call is
scheduled to receive a wakeup.
Returns the current number of available permits.
This is equivalent to the Semaphore::available_permits
method on the
tokio::sync::Semaphore
type.
Adds n
new permits to the semaphore.
The maximum number of permits is usize::MAX >> 3
, and this function
will panic if the limit is exceeded.
This is equivalent to the Semaphore::add_permits
method on the
tokio::sync::Semaphore
type.
Trait Implementations
type Item = OwnedSemaphorePermit
type Item = OwnedSemaphorePermit
Values yielded by the stream.
Attempt to pull out the next value of this stream, registering the
current task for wakeup if the value is not yet available, and returning
None
if the stream is exhausted. Read more
Auto Trait Implementations
impl !RefUnwindSafe for PollSemaphore
impl Send for PollSemaphore
impl Sync for PollSemaphore
impl Unpin for PollSemaphore
impl !UnwindSafe for PollSemaphore
Blanket Implementations
Mutably borrows from an owned value. Read more