|
MythTV master
|
#include <libmythupnp/taskqueue.h>
Public Member Functions | |
| ~TaskQueue () override | |
| void | RequestTerminate () |
| void | Clear () |
| void | AddTask (std::chrono::milliseconds msec, Task *pTask) |
| Add a task to run in the future. More... | |
| void | AddTask (Task *pTask) |
| Add a task to run now. More... | |
| Task * | GetNextExpiredTask (std::chrono::microseconds tt, std::chrono::milliseconds nWithinMilliSecs=50ms) |
Public Member Functions inherited from MThread | |
| MThread (const QString &objectName) | |
| Standard constructor. More... | |
| MThread (const QString &objectName, QRunnable *runnable) | |
| Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More... | |
| virtual | ~MThread () |
| MThread (const MThread &)=delete | |
| MThread & | operator= (const MThread &)=delete |
| void | RunProlog (void) |
| Sets up a thread, call this if you reimplement run(). More... | |
| void | RunEpilog (void) |
| Cleans up a thread's resources, call this if you reimplement run(). More... | |
| QThread * | qthread (void) |
| Returns the thread, this will always return the same pointer no matter how often you restart the thread. More... | |
| void | setObjectName (const QString &name) |
| QString | objectName (void) const |
| void | setPriority (QThread::Priority priority) |
| QThread::Priority | priority (void) const |
| bool | isFinished (void) const |
| bool | isRunning (void) const |
| void | setStackSize (uint stackSize) |
| uint | stackSize (void) const |
| void | exit (int retcode=0) |
| Use this to exit from the thread if you are using a Qt event loop. More... | |
| void | start (QThread::Priority p=QThread::InheritPriority) |
| Tell MThread to start running the thread in the near future. More... | |
| void | terminate (void) |
| Kill a thread unsafely. More... | |
| void | quit (void) |
| calls exit(0) More... | |
| bool | wait (std::chrono::milliseconds time=std::chrono::milliseconds::max()) |
| Wait for the MThread to exit, with a maximum timeout. More... | |
Static Public Member Functions | |
| static TaskQueue * | Instance () |
| static void | Shutdown () |
Static Public Member Functions inherited from MThread | |
| static void | ThreadSetup (const QString &name) |
| This is to be called on startup in those few threads that haven't been ported to MThread. More... | |
| static void | ThreadCleanup (void) |
| This is to be called on exit in those few threads that haven't been ported to MThread. More... | |
| static void | Cleanup (void) |
| This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More... | |
| static void | GetAllThreadNames (QStringList &list) |
| static void | GetAllRunningThreadNames (QStringList &list) |
Protected Member Functions | |
| bool | IsTermRequested () |
| void | run () override |
| Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
Protected Member Functions inherited from MThread | |
| virtual void | run (void) |
| Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
| int | exec (void) |
| Enters the qt event loop. call exit or quit to exit thread. More... | |
Protected Attributes | |
| TaskMap | m_mapTasks |
| QMutex | m_mutex |
| bool | m_bTermRequested {false} |
Protected Attributes inherited from MThread | |
| MThreadInternal * | m_thread {nullptr} |
| QRunnable * | m_runnable {nullptr} |
| bool | m_prologExecuted {true} |
| bool | m_epilogExecuted {true} |
Private Member Functions | |
| TaskQueue () | |
| void | AddTaskAbsolute (std::chrono::microseconds tt, Task *pTask) |
| Add a task to run at a specific time. More... | |
Static Private Attributes | |
| static TaskQueue * | g_pTaskQueue = nullptr |
Additional Inherited Members | |
Static Protected Member Functions inherited from MThread | |
| static void | setTerminationEnabled (bool enabled=true) |
| static void | usleep (std::chrono::microseconds time) |
| template<typename R , typename P > | |
| static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > | usleep (std::chrono::duration< R, P > time) |
Definition at line 75 of file taskqueue.h.
|
private |
Definition at line 76 of file taskqueue.cpp.
Referenced by Instance().
|
override |
Definition at line 89 of file taskqueue.cpp.
| void TaskQueue::AddTask | ( | std::chrono::milliseconds | msec, |
| Task * | pTask | ||
| ) |
Add a task to run in the future.
| msec | The number of milliseconds in the future to run this task |
| pTask | A pointer to the task. |
Definition at line 168 of file taskqueue.cpp.
Referenced by SSDP::EnableNotifications(), UPnpNotifyTask::Execute(), Eventing::NotifySubscriber(), SSDP::ProcessSearchRequest(), and SSDPCache::SSDPCache().
| void TaskQueue::AddTask | ( | Task * | pTask | ) |
Add a task to run now.
| pTask | A pointer to the task. |
Definition at line 197 of file taskqueue.cpp.
|
private |
Add a task to run at a specific time.
| msec | The time when this task should run |
| pTask | A pointer to the task. |
Definition at line 181 of file taskqueue.cpp.
Referenced by AddTask().
| void TaskQueue::Clear | ( | void | ) |
Definition at line 147 of file taskqueue.cpp.
Referenced by ~TaskQueue().
| Task * TaskQueue::GetNextExpiredTask | ( | std::chrono::microseconds | tt, |
| std::chrono::milliseconds | nWithinMilliSecs = 50ms |
||
| ) |
Definition at line 212 of file taskqueue.cpp.
Referenced by run().
|
static |
Definition at line 55 of file taskqueue.cpp.
Referenced by cleanup(), SSDP::EnableNotifications(), Eventing::NotifySubscriber(), SSDP::ProcessSearchRequest(), and SSDPCache::SSDPCache().
|
protected |
| void TaskQueue::RequestTerminate | ( | void | ) |
Definition at line 98 of file taskqueue.cpp.
Referenced by cleanup().
|
overrideprotectedvirtual |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
Reimplemented from MThread.
Definition at line 107 of file taskqueue.cpp.
|
static |
Definition at line 65 of file taskqueue.cpp.
Referenced by MythContext::~MythContext().
|
staticprivate |
Definition at line 80 of file taskqueue.h.
Referenced by Instance(), and Shutdown().
Definition at line 86 of file taskqueue.h.
Referenced by RequestTerminate(), run(), and ~TaskQueue().
|
protected |
Definition at line 84 of file taskqueue.h.
Referenced by AddTaskAbsolute(), Clear(), and GetNextExpiredTask().
|
protected |
Definition at line 85 of file taskqueue.h.
Referenced by AddTaskAbsolute(), Clear(), and GetNextExpiredTask().