Skip to content

cvedia::rt::data_collection::DataCollector

Protected Classes

Name
struct Item

Public Types

Name
using int pushId_t

Public Functions

Name
DataCollector(std::unique_ptr< DataCollectorCore > && core)
~DataCollector()
DataCollector(DataCollector const & other) =delete
DataCollector & operator=(DataCollector const & other) =delete
DataCollector(DataCollector && other)
DataCollector & operator=(DataCollector && other)
expected< void > isAskingClassificationData() const
expected< std::string > isAskingFullFrameData() const
expected< pushId_t > push(std::unique_ptr< MetaDataBase > && metaData, pCValue const & context =nullptr)
expected< RTErrc > getPushResult(pushId_t const pushId)

Protected Functions

Name
void _stopAndJoinWorker()
void _processQueueItems()

Protected Attributes

Name
std::unique_ptr< DataCollectorCore > core_
std::queue< Item > queue_
std::mutex queueMutex_
std::condition_variable queueCv_
std::atomic< bool > stopWorker_
std::atomic< pushId_t > nextPushId_
std::thread workerThread_
std::mutex resultsMutex_
std::unordered_map< pushId_t, RTErrc > results_

Public Types Documentation

using pushId_t

using pushId_t =  int;

Public Functions Documentation

function DataCollector

DataCollector(
    std::unique_ptr< DataCollectorCore > && core
)

function ~DataCollector

~DataCollector()

function DataCollector

DataCollector(
    DataCollector const & other
) =delete

function operator=

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

function DataCollector

DataCollector(
    DataCollector && other
)

function operator=

DataCollector & operator=(
    DataCollector && other
)

function isAskingClassificationData

expected< void > isAskingClassificationData() const

function isAskingFullFrameData

expected< std::string > isAskingFullFrameData() const

function push

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

function getPushResult

expected< RTErrc > getPushResult(
    pushId_t const pushId
)

Protected Functions Documentation

function _stopAndJoinWorker

void _stopAndJoinWorker()

function _processQueueItems

void _processQueueItems()

Protected Attributes Documentation

variable core_

std::unique_ptr< DataCollectorCore > core_;

variable queue_

std::queue< Item > queue_;

variable queueMutex_

std::mutex queueMutex_;

variable queueCv_

std::condition_variable queueCv_;

variable stopWorker_

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

variable nextPushId_

std::atomic< pushId_t > nextPushId_ { 1 };

variable workerThread_

std::thread workerThread_;

variable resultsMutex_

std::mutex resultsMutex_;

variable results_

std::unordered_map< pushId_t, RTErrc > results_;

Updated on 2025-08-24 at 15:42:37 +0000