RTC Toolkit 5.1.0
Loading...
Searching...
No Matches
Public Member Functions | Static Protected Member Functions | List of all members
rtctk::componentFramework::IpcqRecordingUnit< RecInfoType > Class Template Reference

Recording Unit that can record from shared memory queue. More...

#include <ipcqRecordingUnit.hpp>

Inheritance diagram for rtctk::componentFramework::IpcqRecordingUnit< RecInfoType >:
rtctk::componentFramework::RecordingUnit

Public Member Functions

 IpcqRecordingUnit (const std::string &comp_id, const std::string &unit_id, ServiceContainer &services)
 Create a new Ipcq Recorder reading from a given queue and outputting to the given output stage.
 
virtual ~IpcqRecordingUnit ()
 
void Prepare (const std::filesystem::path &file_path) override
 Prepare the recording thread and start recording.
 
void Start () override
 Start the recording.
 
std::vector< std::filesystem::path > Stop () override
 Stop the recording thread and wait for it's termination.
 
void Update () override
 Update settings from RuntimeRepo.
 
- 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.
 
boost::signals2::connection Connect (const std::function< void(const std::string &, const State &)> &function)
 Connect to State change signal.
 

Static Protected Member Functions

static RecInfoType::Recorder::DisabledFields GetDisabled (RepositoryIf &rtr, const DataPointPath &sub_path)
 get disabled fields from a DataPoint in the runtime repo.
 

Additional Inherited Members

- Public Types inherited from rtctk::componentFramework::RecordingUnit
enum class  State : uint8_t {
  STOPPED , PREPARING , IDLE , WAITING ,
  RUNNING , FINISHED , FAILED
}
 
- 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<typename RecInfoType>
class rtctk::componentFramework::IpcqRecordingUnit< RecInfoType >

Recording Unit that can record from shared memory queue.

Template Parameters
RecInfoTypeRecordingInfo trait class for compile-time configuration.

Constructor & Destructor Documentation

◆ IpcqRecordingUnit()

template<typename RecInfoType >
rtctk::componentFramework::IpcqRecordingUnit< RecInfoType >::IpcqRecordingUnit ( const std::string & comp_id,
const std::string & unit_id,
ServiceContainer & services )
inline

Create a new Ipcq Recorder reading from a given queue and outputting to the given output stage.

Parameters
comp_idname of the component
unit_idname of the recording unit
servicesrequired services

◆ ~IpcqRecordingUnit()

Member Function Documentation

◆ GetDisabled()

template<typename RecInfoType >
RecInfoType::Recorder::DisabledFields rtctk::componentFramework::IpcqRecordingUnit< RecInfoType >::GetDisabled ( RepositoryIf & rtr,
const DataPointPath & sub_path )
staticprotected

get disabled fields from a DataPoint in the runtime repo.

This datapoint should contain a string in the format "column1,column2" where the columns are the ones that should be recorded

Parameters
rtrthe runtime repo to use
sub_pathpath to the datapoint
Returns
array of fields that should be disabled

◆ Prepare()

template<typename RecInfoType >
void rtctk::componentFramework::IpcqRecordingUnit< RecInfoType >::Prepare ( const std::filesystem::path & file_path)
overridevirtual

Prepare the recording thread and start recording.

Parameters
file_pathfile to record to

Implements rtctk::componentFramework::RecordingUnit.

◆ Start()

Start the recording.

Implements rtctk::componentFramework::RecordingUnit.

◆ Stop()

template<typename RecInfoType >
std::vector< std::filesystem::path > rtctk::componentFramework::IpcqRecordingUnit< RecInfoType >::Stop ( )
overridevirtual

Stop the recording thread and wait for it's termination.

Returns
the created file

Implements rtctk::componentFramework::RecordingUnit.

◆ Update()

Update settings from RuntimeRepo.

Reimplemented from rtctk::componentFramework::RecordingUnit.


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