Module indigo::sync[][src]

Synchronization primitives and concurrency utilties.

Modules

blocking

Blocking utilities and concurrency primitives.

channel

A multi-producer, multi-consumer channel.

request

Asynchronous request handling (also known as a “oneshot” channel).

Macros

pin

Pins a variable of type T on the stack and rebinds it as Pin<&mut T>.

request

Returns a future that awaits a request defined by the given “closure”.

Structs

AtomicBool

An awaitable atomic bool.

AtomicI8

An awaitable atomic i8.

AtomicI16

An awaitable atomic i16.

AtomicI32

An awaitable atomic i32.

AtomicI64

An awaitable atomic i64.

AtomicIsize

An awaitable atomic isize.

AtomicU8

An awaitable atomic u8.

AtomicU16

An awaitable atomic u16.

AtomicU32

An awaitable atomic u32.

AtomicU64

An awaitable atomic u64.

AtomicUsize

An awaitable atomic usize.

ConcurrentHashMap

A concurrent hash map provided by the dashmap crate.

ConcurrentHashSet

A concurrent hash set provided by the dashmap crate.

Event

A synchronization primitive for notifying async tasks and threads.

EventListener

A guard waiting for a notification from an Event.

Lazy

A value which is initialized on the first access.

OnceCell

A thread-safe cell which can be written to only once.

Request

An asynchronous request for a value of type T.

Semaphore

A counting semaphore.

Timer

A timer that expires after a duration of time.