ML Reference
ml::PageRequestProcessor Class Reference

Abstract base class for page request processors. More...

#include <mlPageRequestProcessor.h>

Inheritance diagram for ml::PageRequestProcessor:
ml::PageRequestQueueInterface ml::PageRequestProcessorBase ml::MultiThreadedPageRequestProcessor ml::SingleThreadedPageRequestProcessor

List of all members.

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!)

Detailed Description

Abstract base class for page request processors.

Definition at line 43 of file mlPageRequestProcessor.h.


Constructor & Destructor Documentation

virtual ml::PageRequestProcessor::~PageRequestProcessor ( ) [inline, virtual]

Virtual destructor.

Definition at line 47 of file mlPageRequestProcessor.h.


Member Function Documentation

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.


The documentation for this class was generated from the following file: