Twitch SDK (Internal)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ttv::TaskRunner Class Reference

#include <taskrunner.h>

Public Member Functions

 TaskRunner ()
 
 TaskRunner (const std::string &name)
 
 ~TaskRunner ()
 
bool AddTask (std::shared_ptr< Task > task)
 
void PollTasks ()
 
void Shutdown ()
 

Private Member Functions

void Initialize ()
 
void TaskRunnerThreadProc ()
 

Private Attributes

volatile bool mTaskRunnerThreadRunning
 
std::shared_ptr< IThreadmTaskRunnerThread
 
ConcurrentQueue< std::shared_ptr< Task > > mTaskQ
 
ConcurrentQueue< std::shared_ptr< Task > > mDoneTaskQ
 
std::shared_ptr< IThreadSyncmThreadSync
 
std::string mName
 

Constructor & Destructor Documentation

◆ TaskRunner() [1/2]

ttv::TaskRunner::TaskRunner ( )

◆ TaskRunner() [2/2]

ttv::TaskRunner::TaskRunner ( const std::string &  name)

◆ ~TaskRunner()

ttv::TaskRunner::~TaskRunner ( )

Member Function Documentation

◆ AddTask()

bool ttv::TaskRunner::AddTask ( std::shared_ptr< Task task)

◆ Initialize()

void ttv::TaskRunner::Initialize ( )
private

◆ PollTasks()

void ttv::TaskRunner::PollTasks ( )

◆ Shutdown()

void ttv::TaskRunner::Shutdown ( )

◆ TaskRunnerThreadProc()

void ttv::TaskRunner::TaskRunnerThreadProc ( )
private

Member Data Documentation

◆ mDoneTaskQ

ConcurrentQueue< std::shared_ptr<Task> > ttv::TaskRunner::mDoneTaskQ
private

◆ mName

std::string ttv::TaskRunner::mName
private

◆ mTaskQ

ConcurrentQueue< std::shared_ptr<Task> > ttv::TaskRunner::mTaskQ
private

◆ mTaskRunnerThread

std::shared_ptr<IThread> ttv::TaskRunner::mTaskRunnerThread
private

◆ mTaskRunnerThreadRunning

volatile bool ttv::TaskRunner::mTaskRunnerThreadRunning
private

◆ mThreadSync

std::shared_ptr<IThreadSync> ttv::TaskRunner::mThreadSync
private

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