Graph API

Context


class RunContext : public StorageContext

Public Functions

inline RunContext(GlobalContext &context, std::atomic<bool> &terminate_signal, std::string run_group_id, std::string run_id, std::string template_id, bool test_flag)
inline GlobalContext &global()
inline bool terminated() const
inline void Terminate()
inline void TerminateWithError(std::string processor_name, std::string step, std::string error_message)
inline TimePoint start_time() const
inline TimePoint stop_time() const
inline int minutes() const
inline int seconds() const
inline std::string error_message()
inline bool error()
inline std::string run_group_id() const
inline std::string run_id() const
inline std::string template_id() const
inline bool test() const

Friends

friend class graph::ProcessorGraph
friend class IProcessor
class ProcessingContext : public StorageContext

Public Functions

inline ProcessingContext(RunContext &context, std::string processor_name, bool test)
inline RunContext &run()
inline bool test() const
inline bool terminated() const
inline void Terminate()
inline void TerminateWithError(std::string step, std::string error_message)

Processor


class IProcessor

Public Functions

inline IProcessor(ThreadPriority priority = PRIORITY_NONE)
inline virtual ~IProcessor()
inline const std::string name() const

Get processor’s name.

The processor’s name is set during the graph build phase after construction.

inline const std::string type() const

Get processor’s class name.

The processor’s class name is set during the graph build phase after construction.

inline unsigned int n_input_ports() const

Get number of input ports on the processor.

inline unsigned int n_output_ports() const

Get number of output ports on the processor.

const std::set<std::string> input_port_names() const

Get set of all input port names.

const std::set<std::string> output_port_names() const

Get set of all output port names.

inline bool has_input_port(std::string port)

Check if input port with given name exists.

Parameters

port – The name of the port.

inline bool has_output_port(std::string port)

Check if output port with given name exists.

Parameters

port – The name of the port.

inline virtual bool issource() const
inline virtual bool issink() const
inline virtual bool isfilter() const
inline virtual bool isautonomous() const
inline ThreadPriority thread_priority() const
inline ThreadCore thread_core() const
inline bool running() const
YAML::Node ExportYAML()

Friends

friend class graph::ProcessorGraph

Datatype


namespace nsAnyType
struct Parameters
class Capabilities

Public Functions

inline virtual ~Capabilities()
inline virtual void VerifyCompatibility(const Capabilities &capabilities) const
inline virtual void Validate(const Parameters &parameters) const
class Data

Public Functions

inline Data()
inline virtual ~Data()
inline virtual void ClearData()
inline void Initialize(const Parameters &parameters)
bool eos() const
void set_eos(bool value = true)
void clear_eos()
void set_serial_number(uint64_t n)
uint64_t serial_number() const
void set_source_timestamp()
void set_source_timestamp(TimePoint t)
TimePoint source_timestamp() const
template<typename DURATION = std::chrono::microseconds>
inline DURATION time_passed() const
template<typename DURATION = std::chrono::microseconds>
inline DURATION time_since(TimePoint reference) const
uint64_t hardware_timestamp() const
void set_hardware_timestamp(uint64_t t)
void CloneTimestamps(const Data &data)
virtual void SerializeBinary(std::ostream &stream, Serialization::Format format) const
virtual void SerializeYAML(YAML::Node &node, Serialization::Format format) const
virtual void YAMLDescription(YAML::Node &node, Serialization::Format format) const
virtual void SerializeFlatBuffer(flexbuffers::Builder &flex_builder)

Shared states, atomic variables


class IState

Subclassed by StateCloneable< IState, ReadableState< T > >

Public Functions

IState(const Permissions &permissions, std::string description = "")
IState(const IState &other)
inline virtual ~IState()
virtual IState *clone() const = 0
bool IsCompatible(const Permissions &permissions)
const Permissions &permissions() const
Permission external_permission()
std::string description()
virtual std::string get_string(bool cache = true) = 0

Friends

friend class graph::ProcessorGraph
template<typename T>
class ReadableState : public StateCloneable<IState, ReadableState<T>>

Subclassed by WritableState< T >

Public Functions

inline ReadableState(T default_value, std::string description = "", Permission peers = Permission::WRITE, Permission external = Permission::NONE)
inline ReadableState(const ReadableState &other)
inline T get(bool cache = true)
inline bool changed_get(T &val, bool cache = true)
inline virtual std::string get_string(bool cache = true) override
template<typename T>
class WritableState : public ReadableState<T>

Public Functions

inline WritableState(T default_value, std::string description = "", Permission peers = Permission::READ, Permission external = Permission::NONE)
inline void set(T value, bool cache = true)
inline T exchange(T value, bool cache = true)
inline virtual bool set_string(const std::string &value, bool cache = true) override
inline void reset()