OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Implementation of a general purpose request / response style background work queue. More...
#include <OgreDefaultWorkQueue.h>
Public Member Functions | |
DefaultWorkQueue (const String &name=BLANKSTRING) | |
virtual | ~DefaultWorkQueue () |
void | _threadMain () override |
Main function for each thread spawned. | |
void | shutdown () override |
Shut down the queue. | |
void | startup (bool forceRestart=true) override |
Start up the queue with the options that have been set. | |
Public Member Functions inherited from Ogre::DefaultWorkQueueBase | |
DefaultWorkQueueBase (const String &name=BLANKSTRING) | |
Constructor. | |
virtual | ~DefaultWorkQueueBase () |
virtual void | _processNextRequest () |
Process the next request on the queue. | |
void | addMainThreadTask (std::function< void()> task) override |
Add a deferred task that will be processed on the main render thread. | |
void | addTask (std::function< void()> task) override |
Add a new task to the queue. | |
const String & | getName () const |
Get the name of the work queue. | |
virtual bool | getRequestsAccepted () const override |
Returns whether requests are being accepted right now. | |
unsigned long | getResponseProcessingTimeLimit () const override |
virtual bool | getWorkersCanAccessRenderSystem () const |
Get whether worker threads will be allowed to access render system resources. | |
size_t | getWorkerThreadCount () const override |
Get the number of worker threads that this queue will start when startup() is called. | |
bool | isPaused () const override |
Return whether the queue is paused ie not sending more work to workers. | |
virtual bool | isShuttingDown () const |
Returns whether the queue is trying to shut down. | |
void | processMainThreadTasks () override |
Process the tasks in the main-thread queue. | |
void | setPaused (bool pause) override |
Set whether to pause further processing of any requests. | |
void | setRequestsAccepted (bool accept) override |
Set whether to accept new requests or not. | |
void | setResponseProcessingTimeLimit (unsigned long ms) override |
virtual void | setWorkersCanAccessRenderSystem (bool access) |
Set whether worker threads will be allowed to access render system resources. | |
void | setWorkerThreadCount (size_t c) override |
Set the number of worker threads that this queue will start when startup() is called (default 1). | |
Public Member Functions inherited from Ogre::WorkQueue | |
WorkQueue () | |
virtual | ~WorkQueue () |
uint64 | getMainThreadProcessingTimeLimit () const |
Get the time limit imposed on the processing of tasks in a single frame, in milliseconds (0 indicates no limit). | |
virtual void | processResponses () |
void | setMainThreadProcessingTimeLimit (uint64 ms) |
Set the time limit imposed on the processing of tasks in a single frame, in milliseconds (0 indicates no limit). | |
Additional Inherited Members | |
Public Types inherited from Ogre::WorkQueue | |
typedef unsigned long long int | RequestID |
Numeric identifier for a request. | |
Implementation of a general purpose request / response style background work queue.
This default implementation of a work queue starts a thread pool and provides queues to process requests.
Ogre::DefaultWorkQueue::DefaultWorkQueue | ( | const String & | name = BLANKSTRING | ) |
|
virtual |
|
overridevirtual |
Main function for each thread spawned.
Implements Ogre::DefaultWorkQueueBase.
|
overridevirtual |
Shut down the queue.
Implements Ogre::WorkQueue.
Start up the queue with the options that have been set.
forceRestart | If the queue is already running, whether to shut it down and restart. |
Implements Ogre::WorkQueue.