Skip to content

cvedia::rt::data_collection::DataCollectorCore

Public Functions

Name
DataCollectorCore(std::unique_ptr< DataCollectionBackend > && backend, std::unique_ptr< TimeProvider > && timeProvider)
~DataCollectorCore()
DataCollectorCore(DataCollectorCore const & other) =delete
DataCollectorCore & operator=(DataCollectorCore const & other) =delete
DataCollectorCore(DataCollectorCore && other)
DataCollectorCore & operator=(DataCollectorCore && other)
expected< void > isAskingClassificationData() const
expected< std::string > isAskingFullFrameData() const
expected< void > push(std::unique_ptr< MetaDataBase > && metaData, pCValue const & context =nullptr)
expected< void > refreshConfig()

Protected Functions

Name
void _stopAndJoinUpdater()
void _periodicCollectionConfigUpdate()
void _handleTimeBasedCounters()
expected< void > _pushClassificationMetaData(std::unique_ptr< MetaDataBase > && metaData)
expected< void > _pushFullFrameMetaData(std::unique_ptr< MetaDataBase > && metaData, pCValue const & context)
expected< void > _updateCollectionConfig(CollectionConfig const & collectionConfig)
expected< void > _prepareClassMetaData(ClassMetaData & metaData) const
expected< ClassConfig > _getClassConfig(label_t const & label) const
ClassCollectionState & _getClassCollectionState(label_t const & label)
expected< nlohmann::json > _prepareMetaDataForUpload(MetaDataBase const * metaData) const
expected< void > _uploadClassMeta(std::unique_ptr< ClassMetaData > && metaData)
expected< void > _uploadFullFrameMeta(std::unique_ptr< FullFrameMetaData > && metaData)

Protected Attributes

Name
std::unique_ptr< DataCollectionBackend > backend_
std::unique_ptr< TimeProvider > timeProvider_
std::unique_ptr< EncryptionImpl > encryption_
CollectionConfig collectionConfig_
CollectionState collectionState_
shared_mutex_class stateMux_
shared_mutex_class configMux_
std::atomic< std::chrono::hours > nextConfigUpdateTime_
std::thread updaterThread_
std::atomic< bool > stopUpdater_
std::chrono::system_clock::time_point lastUpdateTime_
constexpr int const DEFAULT_CONFIG_UPDATE_PERIOD_IN_HOURS

Public Functions Documentation

function DataCollectorCore

DataCollectorCore(
    std::unique_ptr< DataCollectionBackend > && backend,
    std::unique_ptr< TimeProvider > && timeProvider
)

function ~DataCollectorCore

~DataCollectorCore()

function DataCollectorCore

DataCollectorCore(
    DataCollectorCore const & other
) =delete

function operator=

DataCollectorCore & operator=(
    DataCollectorCore const & other
) =delete

function DataCollectorCore

DataCollectorCore(
    DataCollectorCore && other
)

function operator=

DataCollectorCore & operator=(
    DataCollectorCore && other
)

function isAskingClassificationData

expected< void > isAskingClassificationData() const

function isAskingFullFrameData

expected< std::string > isAskingFullFrameData() const

function push

expected< void > push(
    std::unique_ptr< MetaDataBase > && metaData,
    pCValue const & context =nullptr
)

function refreshConfig

expected< void > refreshConfig()

Protected Functions Documentation

function _stopAndJoinUpdater

void _stopAndJoinUpdater()

function _periodicCollectionConfigUpdate

void _periodicCollectionConfigUpdate()

function _handleTimeBasedCounters

void _handleTimeBasedCounters()

function _pushClassificationMetaData

expected< void > _pushClassificationMetaData(
    std::unique_ptr< MetaDataBase > && metaData
)

function _pushFullFrameMetaData

expected< void > _pushFullFrameMetaData(
    std::unique_ptr< MetaDataBase > && metaData,
    pCValue const & context
)

function _updateCollectionConfig

expected< void > _updateCollectionConfig(
    CollectionConfig const & collectionConfig
)

function _prepareClassMetaData

expected< void > _prepareClassMetaData(
    ClassMetaData & metaData
) const

function _getClassConfig

expected< ClassConfig > _getClassConfig(
    label_t const & label
) const

function _getClassCollectionState

ClassCollectionState & _getClassCollectionState(
    label_t const & label
)

function _prepareMetaDataForUpload

expected< nlohmann::json > _prepareMetaDataForUpload(
    MetaDataBase const * metaData
) const

function _uploadClassMeta

expected< void > _uploadClassMeta(
    std::unique_ptr< ClassMetaData > && metaData
)

function _uploadFullFrameMeta

expected< void > _uploadFullFrameMeta(
    std::unique_ptr< FullFrameMetaData > && metaData
)

Protected Attributes Documentation

variable backend_

std::unique_ptr< DataCollectionBackend > backend_;

variable timeProvider_

std::unique_ptr< TimeProvider > timeProvider_;

variable encryption_

std::unique_ptr< EncryptionImpl > encryption_;

variable collectionConfig_

CollectionConfig collectionConfig_;

variable collectionState_

CollectionState collectionState_;

variable stateMux_

shared_mutex_class stateMux_;

variable configMux_

shared_mutex_class configMux_;

variable nextConfigUpdateTime_

std::atomic< std::chrono::hours > nextConfigUpdateTime_ = std::chrono::hours{DEFAULT_CONFIG_UPDATE_PERIOD_IN_HOURS};

variable updaterThread_

std::thread updaterThread_;

variable stopUpdater_

std::atomic< bool > stopUpdater_ { false };

variable lastUpdateTime_

std::chrono::system_clock::time_point lastUpdateTime_;

variable DEFAULT_CONFIG_UPDATE_PERIOD_IN_HOURS

static constexpr int const DEFAULT_CONFIG_UPDATE_PERIOD_IN_HOURS = 1;

Updated on 2026-04-20 at 18:15:21 +0000