Module shuttle::scheduler[][src]

Expand description

Implementations of different scheduling strategies for concurrency testing.

Structs

DfsScheduler

A scheduler that performs an exhaustive, depth-first enumeration of all possible schedules.

PctScheduler

A scheduler that implements the Probabilistic Concurrency Testing (PCT) algorithm.

RandomScheduler

A scheduler that randomly chooses a runnable task at each context switch.

ReplayScheduler

A scheduler that can replay a chosen schedule deserialized from a string.

RoundRobinScheduler

A round robin scheduler that chooses the next available runnable task at each context switch.

Schedule

A Schedule determines the order in which tasks are to be executed

TaskId

A TaskId is a unique identifier for a task. TaskIds are never reused within a single execution.

Traits

Scheduler

A Scheduler is an oracle that decides the order in which to execute concurrent tasks and the data to return to calls for random values.