ML Reference
|
Abstract base class for page request processors. More...
#include <mlPageRequestProcessor.h>
Public Member Functions | |
virtual | ~PageRequestProcessor () |
Virtual destructor. | |
virtual void | addRootTileRequest (TileRequest *tileRequest)=0 |
Adds the root tileRequest that should be processed (the ownership stays with the caller). | |
virtual void | processAll ()=0 |
Processes all requests until the cursors have traversed the whole tree and the queue is empty. | |
virtual void | process (double timeBudget)=0 |
Process the requests for the given timeBudget given in seconds. | |
virtual bool | needsProcessing ()=0 |
Returns if the tile request needs some more processing. | |
virtual void | removeCancelledRequests ()=0 |
Removes all requests that are canceled and no longer needed. | |
virtual void | enterProcessingScope ()=0 |
Enters a recursive processing scope (always called from main thread!) Default scope is 0 (which is used for requests from the background tasks) Host::getTile requests will have a scope of 1 (or more if called recursively) Needs to be called before addRootTileRequest(), if the request should be inside of a scope. | |
virtual void | leaveProcessingScope ()=0 |
Leaves a recursive processing scope (always called from main thread!) | |
virtual void | setNumWorkerThreads (int)=0 |
Set number of worker threads (available here even if subclasses may not support it) | |
Static Public Member Functions | |
static void | enableTileRequestAllocationFailure (int count=1) |
Enables failing on every count allocation. | |
static void | disableTileRequestAllocationFailure () |
Disables allocation failure (default!) |
Abstract base class for page request processors.
Definition at line 43 of file mlPageRequestProcessor.h.
virtual ml::PageRequestProcessor::~PageRequestProcessor | ( | ) | [inline, virtual] |
Virtual destructor.
Definition at line 47 of file mlPageRequestProcessor.h.
virtual void ml::PageRequestProcessor::addRootTileRequest | ( | TileRequest * | tileRequest | ) | [pure virtual] |
Adds the root tileRequest
that should be processed (the ownership stays with the caller).
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
static void ml::PageRequestProcessor::disableTileRequestAllocationFailure | ( | ) | [static] |
Disables allocation failure (default!)
static void ml::PageRequestProcessor::enableTileRequestAllocationFailure | ( | int | count = 1 | ) | [static] |
Enables failing on every count
allocation.
virtual void ml::PageRequestProcessor::enterProcessingScope | ( | ) | [pure virtual] |
Enters a recursive processing scope (always called from main thread!) Default scope is 0 (which is used for requests from the background tasks) Host::getTile requests will have a scope of 1 (or more if called recursively) Needs to be called before addRootTileRequest(), if the request should be inside of a scope.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::PageRequestProcessorBase.
virtual void ml::PageRequestProcessor::leaveProcessingScope | ( | ) | [pure virtual] |
Leaves a recursive processing scope (always called from main thread!)
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::PageRequestProcessorBase.
virtual bool ml::PageRequestProcessor::needsProcessing | ( | ) | [pure virtual] |
Returns if the tile request needs some more processing.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
virtual void ml::PageRequestProcessor::process | ( | double | timeBudget | ) | [pure virtual] |
Process the requests for the given timeBudget given in seconds.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
virtual void ml::PageRequestProcessor::processAll | ( | ) | [pure virtual] |
Processes all requests until the cursors have traversed the whole tree and the queue is empty.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
virtual void ml::PageRequestProcessor::removeCancelledRequests | ( | ) | [pure virtual] |
Removes all requests that are canceled and no longer needed.
Implemented in ml::PageRequestProcessorBase.
virtual void ml::PageRequestProcessor::setNumWorkerThreads | ( | int | ) | [pure virtual] |
Set number of worker threads (available here even if subclasses may not support it)
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.