|
RTC Toolkit 5.1.0
|
Recording Unit that records JSON events in JSON Lines format (.jsonl) More...
#include <eventRecordingUnit.hpp>
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 |
| RuntimeRepoIf & | m_rtr |
| OldbIf & | m_oldb |
| ComponentMetricsIf & | m_metrics |
| std::optional< std::filesystem::path > | m_file_path |
| boost::signals2::signal< void(const std::string &, const State &) | m_signal ) |
Recording Unit that records JSON events in JSON Lines format (.jsonl)
| OutputStage | only needed to allow unit testing |
| using rtctk::componentFramework::EventRecordingUnit< OutputStage >::FilterMethod = std::function<bool(const JsonPayload&)> |
|
inline |
Create a new recording unit.
| comp_id | name of the component |
| unit_id | name of the recording unit |
| services | required services |
| input_filter | a functional to filter out unwanted events |
|
inlinevirtual |
|
inlineoverridevirtual |
Prepare the recording.
| file_path | file to record to |
Implements rtctk::componentFramework::RecordingUnit.
|
inlineoverridevirtual |
Start the recording.
Implements rtctk::componentFramework::RecordingUnit.
|
inlineoverridevirtual |
Stop the recording and wait for it's termination.
Implements rtctk::componentFramework::RecordingUnit.