RTC Toolkit 5.1.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
rtctk::componentFramework::EventRecordingUnit< OutputStage > Class Template Reference

Recording Unit that records JSON events in JSON Lines format (.jsonl) More...

#include <eventRecordingUnit.hpp>

Inheritance diagram for rtctk::componentFramework::EventRecordingUnit< OutputStage >:
rtctk::componentFramework::RecordingUnit

Public Types

using FilterMethod = std::function<bool(const JsonPayload&)>
 
- Public Types inherited from rtctk::componentFramework::RecordingUnit
enum class  State : uint8_t {
  STOPPED , PREPARING , IDLE , WAITING ,
  RUNNING , FINISHED , FAILED
}
 

Public Member Functions

 EventRecordingUnit (const std::string &comp_id, const std::string &unit_id, ServiceContainer &services, FilterMethod input_filter=nullptr)
 Create a new recording unit.
 
virtual ~EventRecordingUnit ()
 
void Prepare (const std::filesystem::path &file_path) override
 Prepare the recording.
 
void Start () override
 Start the recording.
 
std::vector< std::filesystem::path > Stop () override
 Stop the recording and wait for it's termination.
 
- Public Member Functions inherited from rtctk::componentFramework::RecordingUnit
 RecordingUnit (const std::string &comp_id, const std::string &unit_id, const std::string &unit_type, ServiceContainer &services)
 Create a new RecordingIngestion.
 
 RecordingUnit ()=delete
 
virtual ~RecordingUnit ()=default
 
void ConnectWithLeaders (RecUnitListType &units)
 
std::string GetId ()
 Get the unit_it of this RecordingUnit.
 
State GetState ()
 Get the current state of the Recording Unit.
 
virtual void CheckErrors ()
 Check for Errors, will rethrow errors thrown in the recorder.
 
virtual void Update ()
 Update dynamic settings.
 
boost::signals2::connection Connect (const std::function< void(const std::string &, const State &)> &function)
 Connect to State change signal.
 

Additional Inherited Members

- Public Attributes inherited from rtctk::componentFramework::RecordingUnit
const std::map< State, std::string > m_state_text
 
- Protected Member Functions inherited from rtctk::componentFramework::RecordingUnit
bool SetState (State state, State precondition)
 Sets the new state, only goes to new state, if expected state matches.
 
void SetState (State state, State precondition, const std::string &error_message)
 Sets the new state, only goes to new state, if expected state matches.
 
void SetFailed (const std::exception_ptr &exception)
 Set the unit into failed state, with the given exception.
 
void SetStopped ()
 Set the Unit state to STOPPED independent of the current State.
 
bool HasLeaders ()
 Check if this unit is following any leaders.
 
bool HasFirstLeaderStarted ()
 This function is used to determine if this unit should start recording when waiting for leaders.
 
bool HasLastLeaderFinished ()
 This function is used to determine if this unit should stop recording when waiting for leaders.
 
void ResetLeaderStates ()
 
- Protected Attributes inherited from rtctk::componentFramework::RecordingUnit
std::string m_comp_id
 
std::string m_unit_id
 
RuntimeRepoIfm_rtr
 
OldbIfm_oldb
 
ComponentMetricsIfm_metrics
 
std::optional< std::filesystem::path > m_file_path
 
boost::signals2::signal< void(const std::string &, const State &) m_signal )
 

Detailed Description

template<class OutputStage = std::ofstream>
class rtctk::componentFramework::EventRecordingUnit< OutputStage >

Recording Unit that records JSON events in JSON Lines format (.jsonl)

Template Parameters
OutputStageonly needed to allow unit testing

Member Typedef Documentation

◆ FilterMethod

template<class OutputStage = std::ofstream>
using rtctk::componentFramework::EventRecordingUnit< OutputStage >::FilterMethod = std::function<bool(const JsonPayload&)>

Constructor & Destructor Documentation

◆ EventRecordingUnit()

template<class OutputStage = std::ofstream>
rtctk::componentFramework::EventRecordingUnit< OutputStage >::EventRecordingUnit ( const std::string & comp_id,
const std::string & unit_id,
ServiceContainer & services,
FilterMethod input_filter = nullptr )
inline

Create a new recording unit.

Parameters
comp_idname of the component
unit_idname of the recording unit
servicesrequired services
input_filtera functional to filter out unwanted events

◆ ~EventRecordingUnit()

template<class OutputStage = std::ofstream>
virtual rtctk::componentFramework::EventRecordingUnit< OutputStage >::~EventRecordingUnit ( )
inlinevirtual

Member Function Documentation

◆ Prepare()

template<class OutputStage = std::ofstream>
void rtctk::componentFramework::EventRecordingUnit< OutputStage >::Prepare ( const std::filesystem::path & file_path)
inlineoverridevirtual

Prepare the recording.

Parameters
file_pathfile to record to

Implements rtctk::componentFramework::RecordingUnit.

◆ Start()

template<class OutputStage = std::ofstream>
void rtctk::componentFramework::EventRecordingUnit< OutputStage >::Start ( )
inlineoverridevirtual

Start the recording.

Implements rtctk::componentFramework::RecordingUnit.

◆ Stop()

template<class OutputStage = std::ofstream>
std::vector< std::filesystem::path > rtctk::componentFramework::EventRecordingUnit< OutputStage >::Stop ( )
inlineoverridevirtual

Stop the recording and wait for it's termination.

Returns
the created file

Implements rtctk::componentFramework::RecordingUnit.


The documentation for this class was generated from the following file: