MeVisLab Toolbox Reference
|
Abstract base class for page request processors. More...
#include <mlPageRequestProcessor.h>
Public Member Functions | |
~PageRequestProcessor () override | |
Virtual destructor. More... | |
virtual void | addRootTileRequest (TileRequest *tileRequest)=0 |
Adds the root tileRequest that should be processed; the ownership stays with the caller. More... | |
virtual void | processAll ()=0 |
Processes all requests until the cursors have traversed the whole tree and the queue is empty. More... | |
virtual void | process (double timeBudget)=0 |
Processes the requests for the given timeBudget given in seconds. More... | |
virtual bool | needsProcessing ()=0 |
Returns whether the tile request needs some more processing. More... | |
virtual void | removeCancelledRequests ()=0 |
Removes all requests that are canceled and no longer needed. More... | |
virtual void | enterProcessingScope ()=0 |
Enters a recursive processing scope (always called from main thread!). More... | |
virtual void | leaveProcessingScope ()=0 |
Leaves a recursive processing scope. This is always called from main thread! More... | |
virtual void | setNumWorkerThreads (std::size_t)=0 |
Sets number of worker threads (available here even if subclasses may not support it). More... | |
virtual bool | processingWasSingleThreaded () const =0 |
Returns whether the last request was processed single or multithreaded. More... | |
![]() | |
virtual | ~PageRequestQueueInterface () |
Virtual destructor to get rid of warning. More... | |
virtual void | append (PageRequest *request)=0 |
Appends PageRequest request that is ready for processing to the work queue. More... | |
Static Public Member Functions | |
static void | enableTileRequestAllocationFailure (int count=1) |
Enables failing on every count allocation. More... | |
static void | disableTileRequestAllocationFailure () |
Disables allocation failure. This is the default! More... | |
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::SingleThreadedPageRequestProcessor, and ml::MultiThreadedPageRequestProcessor.
|
static |
Disables allocation failure. This is the 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::PageRequestProcessorBase, and ml::MultiThreadedPageRequestProcessor.
|
pure virtual |
Leaves a recursive processing scope. This is always called from main thread!
Implemented in ml::PageRequestProcessorBase, and ml::MultiThreadedPageRequestProcessor.
|
pure virtual |
Returns whether the tile request needs some more processing.
Implemented in ml::SingleThreadedPageRequestProcessor, and ml::MultiThreadedPageRequestProcessor.
|
pure virtual |
Processes the requests for the given timeBudget
given in seconds.
Implemented in ml::SingleThreadedPageRequestProcessor, and ml::MultiThreadedPageRequestProcessor.
|
pure virtual |
Processes all requests until the cursors have traversed the whole tree and the queue is empty.
Implemented in ml::SingleThreadedPageRequestProcessor, and ml::MultiThreadedPageRequestProcessor.
|
pure virtual |
Returns whether the last request was processed single or multithreaded.
Implemented in ml::SingleThreadedPageRequestProcessor, and ml::MultiThreadedPageRequestProcessor.
|
pure virtual |
Removes all requests that are canceled and no longer needed.
Implemented in ml::PageRequestProcessorBase.
|
pure virtual |
Sets number of worker threads (available here even if subclasses may not support it).
Implemented in ml::SingleThreadedPageRequestProcessor, and ml::MultiThreadedPageRequestProcessor.