Struct tokio_util::sync::PollSemaphore
source · [−]pub struct PollSemaphore { /* private fields */ }
Expand description
A wrapper around Semaphore
that provides a poll_acquire
method.
Implementations
sourceimpl PollSemaphore
impl PollSemaphore
sourcepub fn clone_inner(&self) -> Arc<Semaphore>
pub fn clone_inner(&self) -> Arc<Semaphore>
Obtain a clone of the inner semaphore.
sourcepub fn into_inner(self) -> Arc<Semaphore>
pub fn into_inner(self) -> Arc<Semaphore>
Get back the inner semaphore.
sourcepub fn poll_acquire(
&mut self,
cx: &mut Context<'_>
) -> Poll<Option<OwnedSemaphorePermit>>
pub fn poll_acquire(
&mut self,
cx: &mut Context<'_>
) -> Poll<Option<OwnedSemaphorePermit>>
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.
sourcepub fn available_permits(&self) -> usize
pub fn available_permits(&self) -> usize
Returns the current number of available permits.
This is equivalent to the Semaphore::available_permits
method on the
tokio::sync::Semaphore
type.
sourcepub fn add_permits(&self, n: usize)
pub fn add_permits(&self, n: usize)
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
sourceimpl AsRef<Semaphore> for PollSemaphore
impl AsRef<Semaphore> for PollSemaphore
sourceimpl Clone for PollSemaphore
impl Clone for PollSemaphore
sourcefn clone(&self) -> PollSemaphore
fn clone(&self) -> PollSemaphore
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for PollSemaphore
impl Debug for PollSemaphore
sourceimpl Stream for PollSemaphore
impl Stream for PollSemaphore
type Item = OwnedSemaphorePermit
type Item = OwnedSemaphorePermit
Values yielded by the stream.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more