ML Reference
|
A multi-threaded processor that takes one or even multiple tile requests and can process them iteratively. More...
#include <mlMultiThreadedPageRequestProcessor.h>
Classes | |
struct | ProfilingInfo |
Struct to store profiling infos from different threads. | |
struct | WorkerThreadState |
Struct used by the worker threads and the io threads. | |
Public Member Functions | |
MultiThreadedPageRequestProcessor (Host *host=NULL) | |
~MultiThreadedPageRequestProcessor () | |
virtual bool | supportsMultiThreading () |
Returns if multi-threading is supported. | |
virtual void | setNumWorkerThreads (int threads) |
Set number of worker threads. | |
virtual void | addRootTileRequest (TileRequest *tileRequest) |
Adds the root tileRequest that should be processed (the ownership stays with the caller). | |
void | processAll () |
Processes all requests until the cursors have traversed the whole tree and the queue is empty. | |
void | process (double timeBudget) |
Process the requests for the given timeBudget given in seconds. | |
bool | needsProcessing () |
Returns if the tile request needs some more processing. | |
virtual void | append (PageRequest *request) |
Implements PageRequestQueueInterface interface. | |
virtual void | enterProcessingScope () |
Enters a recursive processing scope (always called from main thread!) | |
virtual void | leaveProcessingScope () |
Leaves a recursive processing scope (always called from main thread!) |
A multi-threaded processor that takes one or even multiple tile requests and can process them iteratively.
Definition at line 28 of file mlMultiThreadedPageRequestProcessor.h.
ml::MultiThreadedPageRequestProcessor::MultiThreadedPageRequestProcessor | ( | Host * | host = NULL | ) |
ml::MultiThreadedPageRequestProcessor::~MultiThreadedPageRequestProcessor | ( | ) |
virtual void ml::MultiThreadedPageRequestProcessor::addRootTileRequest | ( | TileRequest * | tileRequest | ) | [virtual] |
Adds the root tileRequest
that should be processed (the ownership stays with the caller).
Implements ml::PageRequestProcessor.
virtual void ml::MultiThreadedPageRequestProcessor::append | ( | PageRequest * | request | ) | [virtual] |
Implements PageRequestQueueInterface interface.
Implements ml::PageRequestQueueInterface.
virtual void ml::MultiThreadedPageRequestProcessor::enterProcessingScope | ( | ) | [virtual] |
Enters a recursive processing scope (always called from main thread!)
Reimplemented from ml::PageRequestProcessorBase.
virtual void ml::MultiThreadedPageRequestProcessor::leaveProcessingScope | ( | ) | [virtual] |
Leaves a recursive processing scope (always called from main thread!)
Reimplemented from ml::PageRequestProcessorBase.
bool ml::MultiThreadedPageRequestProcessor::needsProcessing | ( | ) | [virtual] |
Returns if the tile request needs some more processing.
Implements ml::PageRequestProcessor.
void ml::MultiThreadedPageRequestProcessor::process | ( | double | timeBudget | ) | [virtual] |
Process the requests for the given timeBudget given in seconds.
Implements ml::PageRequestProcessor.
void ml::MultiThreadedPageRequestProcessor::processAll | ( | ) | [virtual] |
Processes all requests until the cursors have traversed the whole tree and the queue is empty.
Implements ml::PageRequestProcessor.
virtual void ml::MultiThreadedPageRequestProcessor::setNumWorkerThreads | ( | int | threads | ) | [virtual] |
Set number of worker threads.
Implements ml::PageRequestProcessor.
virtual bool ml::MultiThreadedPageRequestProcessor::supportsMultiThreading | ( | ) | [inline, virtual] |
Returns if multi-threading is supported.
Implements ml::PageRequestProcessorBase.
Definition at line 35 of file mlMultiThreadedPageRequestProcessor.h.