Module vex_rt::rtos[][src]

Expand description

Multitasking primitives.

Structs

Broadcast

Represents a source of data which notifies listeners on a new value.

BroadcastListener

Provides a means of listening to updates from a Broadcast event.

Context

Represents an ongoing operation which could be cancelled in the future. Inspired by contexts in the Go programming language.

ContextWrapper

Provides a wrapper for Context objects which permits the management of sequential, non-overlapping contexts.

Event

Represents a self-maintaining set of tasks to notify when an event occurs.

EventHandle

Represents a handle into the listing of the current task in an Event. When this handle is dropped, that task is removed from the event’s set.

Instant

Represents a time on a monotonically increasing clock (i.e., time since program start).

Loop

Provides a constant-period looping construct.

Mutex

Represents an object which is protected by a FreeRTOS recursive mutex.

MutexGuard

Provides exclusive access to an object controlled by a Mutex via the RAII pattern.

Promise

Represents an ongoing operation which produces a result.

ReceiveChannel

Represents the receive end of a rendez-vous channel.

ReceiveQueue

Represents the receive end of a message-passing queue.

Semaphore

Represents a FreeRTOS counting semaphore.

SendChannel

Represents the sending end of a rendez-vous channel.

SendQueue

Represents the sending end of a message-passing queue.

Task

Represents a FreeRTOS task.

Enums

GenericSleep

Represents a future time to sleep until.

TaskState

Represents the state of a Task.

Traits

Selectable

Represents a future event which can be used with the select! macro.

Functions

channel

Creates a new send-receive pair together representing a rendez-vous channel. Panics on failure; see try_channel.

delay

Creates a new Selectable event which completes after the given duration of time.

delay_until

Creates a new Selectable event which completes at the given timestamp.

handle_event

Adds the current task to the notification set for an Event, acquiring an EventHandle to manage the lifetime of that entry.

queue

Creates a new send-receive pair together representing a message-passing queue, based on the given underlying queue structure. Panics on failure; see try_queue.

select

Awaits a Selectable event.

select_either

Creates a new Selectable event which processes exactly one of the given events.

select_map

Creates a new Selectable event by mapping the result of a given one.

time_since_start

Gets the current timestamp (i.e., the time which has passed since program start).

try_channel

Creates a new send-receive pair together representing a rendez-vous channel.

try_queue

Creates a new send-receive pair together representing a message-passing queue, based on the given underlying queue structure.

Type Definitions

QueuePair

The send/receive pair type returned by queue() and try_queue() for a given queue type.