xronos-sdk 0.14.0
Xronos C++ SDK
Loading...
Searching...
No Matches
xronos::sdk Namespace Reference

Main Xronos SDK namespace. More...

Namespaces

namespace  operators
 Contains convenience streaming operators that allow printing time points and durations including their units.

Classes

class  BaseReaction
 Base class for implementing reactions. More...
struct  DefaultRuntimeProvider
 A runtime provider that provides the default runtime. More...
class  Element
 Base class for all reactor elements. More...
class  Environment
 The entry point for assembling and executing reactor programs. More...
class  EnvironmentContext
 Opaque data type used for constructing reactors. More...
class  InputPort
 A reactor element for receiving messages from other reactors. More...
class  Metric
 A reactor element for recording numeric values to the Xronos Dashboard. More...
class  Node
 A Xronos program's entry point, launched with xronos run. More...
struct  NoSerializer
 Tag type used as a port's serializer parameter to indicate no serialization. More...
class  OutputPort
 A reactor element for sending messages to other reactors. More...
class  PeriodicTimer
 A reactor element that emits events in regular intervals. More...
class  PhysicalEvent
 A reactor element for receiving events from external sources. More...
class  ProgrammableTimer
 A reactor element for scheduling new events. More...
class  Reaction
 Reaction base class with reactor access. More...
class  ReactionContext
 Opaque data type used for constructing reaction triggers and effects Reaction effect classes.. More...
class  ReactionProperties
 Opaque data type used for constructing reactions. More...
class  Reactor
 An abstract reactor that can be subclassed to define new reactors. More...
class  ReactorContext
 Opaque data type used for constructing Elements. More...
struct  RuntimeProvider
 Abstract interface for providing a concrete runtime instance. More...
class  Shutdown
 A reactor element that emits an event right before the program shuts down. More...
class  Startup
 A reactor element that emits an event when the program starts up. More...
class  TestEnvironment
 A variant of the environment that is configured for testing. More...
class  Value
 An owned, shareable message value. More...
struct  ValueType
 The name identifying T across separately built nodes. More...
class  ValueView
 A borrowed view of a message value. More...
class  VersionMismatchError
 Exception thrown by Environment::execute(const RuntimeProvider&) when the provided runtime was built from a different release than the SDK. More...

Concepts

concept  HasValueTypeName
 Satisfied when T has a ValueType specialization naming it.
concept  IsSerializer
 Constraints for a serializer that can be used on ports.

Typedefs

using AttributeValue = std::variant<std::string, bool, std::int64_t, double>
 Possible value types for an attribute.
using Context = std::variant<EnvironmentContext, ReactorContext>
 Can either hold an EnvironmentContext or a ReactorContext.
using Duration = std::chrono::nanoseconds
 Data type used to represent durations.
using InvalidNameError = abi::InvalidNameError
 Exception that is thrown when creating an element with an invalid name.
using TimePoint = std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>
 Data type used to represent time points.
using ValidationError = abi::ValidationError
 Exception that is thrown when a program reaches an invalid state.

Enumerations

enum class  TriggerStatus : std::uint8_t
 The outcome of a PhysicalEvent trigger attempt. More...

Functions

auto operator<< (std::ostream &os, std::chrono::microseconds dur) -> std::ostream &
 Write a duration in microseconds including the unit to an ostream.
auto operator<< (std::ostream &os, std::chrono::milliseconds dur) -> std::ostream &
 Write a duration in milliseconds including the unit to an ostream.
auto operator<< (std::ostream &os, std::chrono::nanoseconds dur) -> std::ostream &
 Write a duration in nanoseconds including the unit to an ostream.
auto operator<< (std::ostream &os, std::chrono::seconds dur) -> std::ostream &
 Write a duration in seconds including the unit to an ostream.
auto operator<< (std::ostream &os, TimePoint tp) -> std::ostream &
 Write a timepoint to an ostream.

Detailed Description

Main Xronos SDK namespace.

Typedef Documentation

◆ InvalidNameError

using xronos::sdk::InvalidNameError = abi::InvalidNameError

Exception that is thrown when creating an element with an invalid name.

A name is invalid if it is empty, if it contains whitespace or any of . , / * $ ? # @, or if it is already in use within the same parent.

Enumeration Type Documentation

◆ TriggerStatus

enum class xronos::sdk::TriggerStatus : std::uint8_t
strong

The outcome of a PhysicalEvent trigger attempt.

  • TriggerStatus::Accepted: the runtime accepted the event and it is queued for processing.
  • TriggerStatus::NotStarted: the program has not started yet and the event was dropped.
  • TriggerStatus::Stopped: the program has stopped and the event was dropped.
  • TriggerStatus::Unknown: the implementation reported a status this SDK version does not recognize; the event was dropped.