Sirikata
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
Sirikata::CoordinateSegmentation Class Reference

Handles the segmentation of the space into regions handled by servers. More...

#include <CoordinateSegmentation.hpp>

Inheritance diagram for Sirikata::CoordinateSegmentation:
Collaboration diagram for Sirikata::CoordinateSegmentation:

List of all members.

Classes

class  Listener
 Listens for updates about the coordinate segmentation. More...

Public Member Functions

 CoordinateSegmentation (SpaceContext *ctx)
virtual ~CoordinateSegmentation ()
virtual ServerID lookup (const Vector3f &pos)=0
virtual BoundingBoxList serverRegion (const ServerID &server)=0
virtual BoundingBox3f region ()=0
virtual uint32 numServers ()=0
virtual std::vector< ServerID > lookupBoundingBox (const BoundingBox3f &bbox)=0
void addListener (Listener *listener)
void removeListener (Listener *listener)
virtual void receiveMessage (Message *msg)=0
virtual void reportLoad (ServerID sid, const BoundingBox3f &bbox, uint32 load)
virtual void migrationHint (std::vector< ServerLoadInfo > &svrLoadInfo)
virtual void service ()=0

Protected Member Functions

virtual void poll ()
 Override this method to specify the work to be done when polling.
void notifyListeners (const std::vector< SegmentationInfo > &new_segmentation)

Protected Attributes

SpaceContextmContext

Private Member Functions

 CoordinateSegmentation ()

Private Attributes

TimeProfiler::StagemServiceStage
std::set< Listener * > mListeners

Detailed Description

Handles the segmentation of the space into regions handled by servers.

Answers queries of the type position -> ServerID ServerID -> region


Constructor & Destructor Documentation

Sirikata::CoordinateSegmentation::CoordinateSegmentation ( SpaceContext ctx)
Sirikata::CoordinateSegmentation::~CoordinateSegmentation ( ) [virtual]

References mServiceStage.

Sirikata::CoordinateSegmentation::CoordinateSegmentation ( ) [private]

Member Function Documentation

void Sirikata::CoordinateSegmentation::addListener ( Listener listener)
virtual ServerID Sirikata::CoordinateSegmentation::lookup ( const Vector3f &  pos) [pure virtual]
virtual std::vector<ServerID> Sirikata::CoordinateSegmentation::lookupBoundingBox ( const BoundingBox3f &  bbox) [pure virtual]
virtual void Sirikata::CoordinateSegmentation::migrationHint ( std::vector< ServerLoadInfo > &  svrLoadInfo) [inline, virtual]
void Sirikata::CoordinateSegmentation::notifyListeners ( const std::vector< SegmentationInfo > &  new_segmentation) [protected]
virtual uint32 Sirikata::CoordinateSegmentation::numServers ( ) [pure virtual]
void Sirikata::CoordinateSegmentation::poll ( ) [protected, virtual]

Override this method to specify the work to be done when polling.

Implements Sirikata::PollingService.

References Sirikata::TimeProfiler::Stage::finished(), mServiceStage, service(), and Sirikata::TimeProfiler::Stage::started().

virtual void Sirikata::CoordinateSegmentation::receiveMessage ( Message msg) [pure virtual]
virtual BoundingBox3f Sirikata::CoordinateSegmentation::region ( ) [pure virtual]
void Sirikata::CoordinateSegmentation::removeListener ( Listener listener)
virtual void Sirikata::CoordinateSegmentation::reportLoad ( ServerID  sid,
const BoundingBox3f &  bbox,
uint32  load 
) [inline, virtual]
virtual BoundingBoxList Sirikata::CoordinateSegmentation::serverRegion ( const ServerID &  server) [pure virtual]
virtual void Sirikata::CoordinateSegmentation::service ( ) [pure virtual]

Member Data Documentation


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