xronos-sdk 0.15.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 elements. More...
class  Environment
 The entry point for assembling and executing applications. More...
class  EnvironmentContext
 The environment's context, through which it creates top-level reactors. More...
class  InputPort
 An element for receiving messages from other reactors. More...
class  Metric
 An element for recording numeric values over time. More...
class  Node
 A reactor that xronos run loads as an application's unit of deployment. More...
struct  NoSerializer
 Tag type used as a port's serializer parameter to indicate no serialization. More...
class  OutputPort
 An element for sending messages to other reactors. More...
class  PeriodicTimer
 An element that emits events in regular intervals. More...
class  PhysicalEvent
 An element for receiving events from external sources. More...
class  ProgrammableTimer
 An event source that emits events scheduled by a reaction handler. More...
class  Reaction
 Reaction base class with reactor access. More...
class  ReactionContext
 A reaction's context, through which it declares its 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
 A reactor's context, through which it creates its elements. More...
struct  RuntimeProvider
 Abstract interface for providing a concrete runtime instance. More...
class  Shutdown
 An event source that emits one event before execution ends. More...
class  Startup
 An event source that emits one event as execution begins. 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 an application 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 container.

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 application has not started yet and the event was dropped.
  • TriggerStatus::Stopped: the application has stopped and the event was dropped.
  • TriggerStatus::Unknown: the implementation reported a status this SDK version does not recognize; the event was dropped.