pub struct GenericSharedSemaphore<MutexType: RawMutex> { /* private fields */ }
Expand description

A futures-aware shared semaphore.

Implementations

Creates a new futures-aware shared semaphore.

See GenericSharedSemaphore for more information.

Acquire a certain amount of permits on a semaphore asynchronously.

This method returns a future that will resolve once the given amount of permits have been acquired. The Future will resolve to a GenericSharedSemaphoreReleaser, which will release all acquired permits automatically when dropped.

Tries to acquire a certain amount of permits on a semaphore.

If acquiring the permits is successful, a GenericSharedSemaphoreReleaser will be returned, which will release all acquired permits automatically when dropped.

Otherwise None will be returned.

Releases the given amount of permits back to the semaphore.

This method should in most cases not be used, since the GenericSharedSemaphoreReleaser which is obtained when acquiring a Semaphore will automatically release the obtained permits again.

Therefore this method should only be used if the automatic release was disabled by calling GenericSharedSemaphoreReleaser::disarm, or when the amount of permits in the Semaphore should increase from the initial amount.

Returns the amount of permits that are available on the semaphore

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.