ML Reference
|
Abstract base class for page request processors. More...
#include <mlPageRequestProcessor.h>
Public Member Functions | |
~PageRequestProcessor () override | |
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 (std::size_t)=0 |
Set number of worker threads (available here even if subclasses may not support it) | |
virtual bool | processingWasSingleThreaded () const =0 |
Returns if the last request was processed single or multi-threaded. | |
Public Member Functions inherited from ml::PageRequestQueueInterface | |
virtual | ~PageRequestQueueInterface () |
Virtual destructor to get rid of warning. | |
virtual void | append (PageRequest *request)=0 |
Append PageRequest request which is ready for processing to the work queue. | |
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 46 of file mlPageRequestProcessor.h.
|
inlineoverride |
Virtual destructor.
Definition at line 50 of file mlPageRequestProcessor.h.
|
pure virtual |
Adds the root tileRequest
that should be processed (the ownership stays with the caller).
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
|
static |
Disables allocation failure (default!)
|
static |
Enables failing on every count
allocation.
|
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.
|
pure virtual |
Leaves a recursive processing scope (always called from main thread!)
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::PageRequestProcessorBase.
|
pure virtual |
Returns if the tile request needs some more processing.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
|
pure virtual |
Process the requests for the given timeBudget given in seconds.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
|
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.
|
pure virtual |
Returns if the last request was processed single or multi-threaded.
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.
|
pure virtual |
Removes all requests that are canceled and no longer needed.
Implemented in ml::PageRequestProcessorBase.
|
pure virtual |
Set number of worker threads (available here even if subclasses may not support it)
Implemented in ml::MultiThreadedPageRequestProcessor, and ml::SingleThreadedPageRequestProcessor.