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::Pendingif 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
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
