|
LibreOffice Module vcl (master) 1
|
An auto-idle is long running task processing small chunks of data, which is re-scheduled multiple times. More...
#include <idle.hxx>
Public Member Functions | |
| AutoIdle (const char *pDebugName) | |
Public Member Functions inherited from Idle | |
| Idle (const char *pDebugName) | |
| virtual void | Start (bool bStartTimer=true) override |
| Schedules the task for execution. More... | |
Public Member Functions inherited from Timer | |
| Timer (const char *pDebugName) | |
| Timer (const Timer &rTimer) | |
| virtual | ~Timer () override |
| Timer & | operator= (const Timer &rTimer) |
| virtual void | Invoke () override |
| Calls the maInvokeHandler with the parameter this. More... | |
| void | Invoke (Timer *arg) |
| Calls the maInvokeHandler with the parameter. More... | |
| void | SetInvokeHandler (const Link< Timer *, void > &rLink) |
| void | ClearInvokeHandler () |
| void | SetTimeout (sal_uInt64 nTimeoutMs) |
| sal_uInt64 | GetTimeout () const |
| virtual void | Start (bool bStartTimer=true) override |
| Schedules the task for execution. More... | |
Public Member Functions inherited from Task | |
| Task (const char *pDebugName) | |
| Task (const Task &rTask) | |
| virtual | ~Task () COVERITY_NOEXCEPT_FALSE |
| Task & | operator= (const Task &rTask) |
| void | SetPriority (TaskPriority ePriority) |
| TaskPriority | GetPriority () const |
| const char * | GetDebugName () const |
| virtual void | Invoke ()=0 |
| virtual void | Start (bool bStartTimer=true) |
| Schedules the task for execution. More... | |
| void | Stop () |
| bool | IsActive () const |
| void | SetStatic () |
| This function must be called for static tasks, so the Task destructor ignores the scheduler mutex, as it may not be available anymore. More... | |
| bool | IsStatic () const |
Additional Inherited Members | |
Protected Member Functions inherited from Idle | |
| virtual sal_uInt64 | UpdateMinPeriod (sal_uInt64 nTimeNow) const override |
| How long (in MS) until the Task is ready to be dispatched? More... | |
| Idle (bool bAuto, const char *pDebugName) | |
Protected Member Functions inherited from Timer | |
| virtual void | SetDeletionFlags () override |
| virtual sal_uInt64 | UpdateMinPeriod (sal_uInt64 nTimeNow) const override |
| How long (in MS) until the Task is ready to be dispatched? More... | |
| Timer (bool bAuto, const char *pDebugName) | |
Protected Member Functions inherited from Task | |
| const ImplSchedulerData * | GetSchedulerData () const |
| virtual void | SetDeletionFlags () |
| virtual sal_uInt64 | UpdateMinPeriod (sal_uInt64 nTimeNow) const =0 |
| How long (in MS) until the Task is ready to be dispatched? More... | |
Static Protected Member Functions inherited from Task | |
| static void | StartTimer (sal_uInt64 nMS) |
An auto-idle is long running task processing small chunks of data, which is re-scheduled multiple times.
Remember to stop the Idle when finished, as it would otherwise busy loop the CPU!
It probably makes sense to re-implement ReadyForSchedule and UpdateMinPeriod, in case there is a quick check and it can otherwise sleep.