Crate concurrency_traits[][src]

Traits for concurrent primitives.

Structs

AsyncCustomDoubleEndedQueue

A custom async double ended queue for turing a double ended queue asynchronous. Creates a task for running the queue functions.

AsyncCustomPrependQueue

A custom async prepend queue for turing a prepend queue asynchronous. Creates a task for running the queue functions.

AsyncCustomQueue

A custom async queue for turing a queue asynchronous. Creates a task for running the queue functions.

AsyncCustomReverseQueue

A custom async reverse queue for turing a reverse queue asynchronous. Creates a task for running the queue functions.

CustomMutex

A Mutex based on a given RawTryMutex

CustomMutexGuard

A guard for a CustomMutex

CustomReadGuard

The read guard for CustomRwLock

CustomRwLock

A custom rw lock that can be built from any RawTryRwLock variant

CustomWriteGuard

The write guard for CustomRwLock

PopBackOperation

A pop back operation. Synonymous with ReverseQueue::pop_back.

PopOperation

A pop operation. Synonymous with Queue::pop.

PushFrontOperation

A push front operation. Synonymous with PrependQueue::push_front.

PushOperation

A push operation. Synonymous with Queue::push.

RawCustomAsyncMutex

A converter for turning a RawMutex into a RawAsyncMutex. Runs all operations on own task.

Enums

AsyncQueueMessage

An internal message for the async custom queues

RawCustomAsyncMutexMessage

The message used for RawCustomAsyncMutex

ReadOperation

An operation that adds to the queue

WriteOperation

An operation that adds to the queue

Traits

AsyncDoubleEndedQueue

An async queue that can be written and read from both ends

AsyncMutex

A generic async mutex trait

AsyncMutexSized

The functions for AsyncMutex that only work for sized types. Separated to allow AsyncMutex to be a trait object.

AsyncPeekQueue

An async queue that can be peeked into

AsyncPeekReverseQueue

A queue that can be peeked from behind asynchronously

AsyncPrependQueue

An async queue that can be prepended (items placed in front)

AsyncQueue

A Queue that can be accessed asynchronously

AsyncReverseQueue

An asynchronous queue that can be read in reverse

AsyncRwLock

A generic async reader-writer lock trait

AsyncRwLockSized

The functions for AsyncRwLock that only work for sized types. Separated to allow AsyncRwLock to be a trait object.

AsyncStack

A stack with async operations

AsyncTimeoutMutex

An async mutex that locking can timeout on.

AsyncTimeoutMutexSized

The functions for AsyncTimeoutMutex that only work for sized types. Separated to allow AsyncTimeoutMutex to be a trait object.

AsyncTimeoutRwLock

An async RwLock that can be timed out on

AsyncTimeoutRwLockSized

The functions for AsyncTimeoutRwLock that only work for sized types. Separated to allow AsyncTimeoutRwLock to be a trait object.

AsyncUpgradeReadGuard

A read guard that can be upgraded to a write guard asynchronously

AsyncUpgradeRwLock

An async rwlock that has read guards that can be upgraded asynchronously

DoubleEndedQueue

A queue that can be written and read from both ends

Mutex

A Generic Mutex trait

MutexSized

The functions for Mutex that only work for sized types. Separated to allow Mutex to be a trait object.

PeekQueue

A queue that can be peeked into

PeekReverseQueue

A queue that can be peeked from behind

PrependQueue

A queue that can be prepended (items placed in front)

Queue

A generic queue that can push and pop in FIFO order

RawAsyncMutex

A raw async mutex that hold no data but the lock itself.

RawAsyncRwLock

A raw async rw lock that stores no data

RawAsyncTimeoutMutex

A raw async mutex that can be timed out and holds no data.

RawAsyncTimeoutRwLock

A raw async timeout rw lock that stores no data

RawMutex

A raw mutex that hold no data but the lock itself.

RawRwLock

A raw rw lock that stores no data

RawTimeoutMutex

A raw mutex that can be timed out and holds no data.

RawTimeoutRwLock

A raw timeout rw lock that stores no data

RawTryMutex

A raw mutex that can be tried and holds no data.

RawTryRwLock

A raw try rw lock that stores no data

ReverseQueue

A queue that can be read in reverse.

RwLock

A generic blocking reader-writer lock trait

RwLockSized

The functions for RwLock that only work for sized types. Separated to allow RwLock to be a trait object.

Stack

A stack with pop and push

ThreadSpawner

A spawner for new threads.

TimeoutMutex

A mutex that can timeout for locking

TimeoutMutexSized

The functions for TimeoutMutex that only work for sized types. Separated to allow TimeoutMutex to be a trait object.

TimeoutRwLock

An RwLock that can be timed out on

TimeoutRwLockSized

The functions for TimeoutRwLock that only work for sized types. Separated to allow TimeoutRwLock to be a trait object.

TryDoubleEndedQueue

A queue that can try to be written and read from both ends

TryMutex

A non-blocking mutex with try functions.

TryMutexSized

The functions for TryMutex that only work for sized types. Separated to allow TryMutex to be a trait object.

TryPeekQueue

A queue that can try to be peeked into

TryPeekReverseQueue

A queue that can try to be peeked from behind

TryPrependQueue

A queue that can be attempt to be prepended to

TryQueue

A generic queue that supports try operations

TryReverseQueue

A queue that can try to be read in reverse.

TryRwLock

A non-blocking rwlock with try functions

TryRwLockSized

The functions for TryRwLock that only work for sized types. Separated to allow TryRwLock to be a trait object.

TryStack

A Stack with try operations

UpgradeReadGuard

A read guard that can be upgraded to a write guard

UpgradeRwLock

An rwlock that has read guards that can be upgraded