Expand description
Multitasking primitives.
Structs
Represents a source of data which notifies listeners on a new value.
Provides a means of listening to updates from a
Broadcast
event.Wraps a
DataSource
, exposing the ability to broadcast readings.Represents an ongoing operation which could be cancelled in the future.
Inspired by contexts in the Go programming language.
Provides a wrapper for
Context
objects which permits the management of
sequential, non-overlapping contexts.Represents a self-maintaining set of tasks to notify when an event occurs.
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.Represents a time on a monotonically increasing clock (i.e., time since
program start).
Provides a constant-period looping construct.
Represents an object which is protected by a FreeRTOS recursive mutex.
Provides exclusive access to an object controlled by a
Mutex
via the
RAII pattern.Represents an ongoing operation which produces a result.
Represents the receive end of a rendez-vous channel.
Represents the receive end of a message-passing queue.
Represents a FreeRTOS counting semaphore.
Represents the sending end of a rendez-vous channel.
Represents the sending end of a message-passing queue.
Represents a FreeRTOS task.
Enums
Represents a future time to sleep until.
Traits
Describes an object which is a source of data, such as a sensor.
Extension trait for converting any
DataSource
into a
BroadcastWrapper
to facilitate broadcasting readings.Describes an object from which a child context can be created. Implemented
for contexts and for slices of contexts.
Represents a future event which can be used with the
select!
macro.Functions
Creates a new send-receive pair together representing a rendez-vous channel.
Panics on failure; see
try_channel
.Creates a new
Selectable
event which completes after the given duration
of time.Creates a new
Selectable
event which completes at the given timestamp.Adds the current task to the notification set for an
Event
, acquiring an
EventHandle
to manage the lifetime of that entry.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
.Awaits a
Selectable
event.Creates a new
Selectable
event which processes exactly one of the given
events.Creates a new
Selectable
event by mapping the result of a given one.Creates a new
Selectable
event which never completes if the given base
event is None.Gets the current timestamp (i.e., the time which has passed since program
start).
Creates a new send-receive pair together representing a rendez-vous channel.
Creates a new send-receive pair together representing a message-passing
queue, based on the given underlying queue structure.
Type Definitions
The send/receive pair type returned by
queue()
and try_queue()
for a
given queue type.