Sirikata
Public Member Functions | Protected Member Functions | Protected Attributes
Sirikata::Proximity Class Reference

#include <Proximity.hpp>

Inheritance diagram for Sirikata::Proximity:
Collaboration diagram for Sirikata::Proximity:

List of all members.

Public Member Functions

 Proximity (SpaceContext *ctx, LocationService *locservice, CoordinateSegmentation *cseg, SpaceNetwork *net, AggregateManager *aggmgr, const Duration &poll_freq)
virtual ~Proximity ()
virtual void start ()
 Start polling this service on this strand at the given maximum rate.
virtual void stop ()
 Stop scheduling this service.
virtual void addQuery (UUID obj, SolidAngle sa, uint32 max_results)=0
virtual void addQuery (UUID obj, const String &params)=0
virtual void removeQuery (UUID obj)=0
virtual void poll ()
 Override this method to specify the work to be done when polling.
virtual std::string migrationClientTag ()=0
 The tag used to uniquely identify this component.
virtual std::string generateMigrationData (const UUID &obj, ServerID source_server, ServerID dest_server)=0
 Produce data for the migration of obj from source_server to dest_server.
virtual void receiveMigrationData (const UUID &obj, ServerID source_server, ServerID dest_server, const std::string &data)=0
 Receive data for the migration of obj from source_server to dest_server.
virtual void updatedSegmentation (CoordinateSegmentation *cseg, const std::vector< SegmentationInfo > &new_seg)
virtual void onSpaceNetworkConnected (ServerID sid)
virtual void onSpaceNetworkDisconnected (ServerID sid)
virtual void newSession (ObjectSession *session)
virtual void sessionClosed (ObjectSession *session)
virtual void onObjectHostSession (const OHDP::NodeID &id, ObjectHostSessionPtr oh_sess)
virtual void onObjectHostSessionEnded (const OHDP::NodeID &id)
virtual void receiveMessage (Message *msg)

Protected Member Functions

void reportStats ()
virtual int32 objectQueries () const
virtual int32 objectHostQueries () const
virtual int32 serverQueries () const

Protected Attributes

SpaceContextmContext
Network::IOStrandmProxStrand
LocationServicemLocService
CoordinateSegmentationmCSeg
AggregateManagermAggregateManager
Poller mStatsPoller
const String mTimeSeriesObjectQueryCountName
const String mTimeSeriesObjectHostQueryCountName
const String mTimeSeriesServerQueryCountName

Constructor & Destructor Documentation

Sirikata::Proximity::Proximity ( SpaceContext ctx,
LocationService locservice,
CoordinateSegmentation cseg,
SpaceNetwork net,
AggregateManager aggmgr,
const Duration poll_freq 
)
Sirikata::Proximity::~Proximity ( ) [virtual]

Member Function Documentation

virtual void Sirikata::Proximity::addQuery ( UUID  obj,
SolidAngle  sa,
uint32  max_results 
) [pure virtual]
virtual void Sirikata::Proximity::addQuery ( UUID  obj,
const String &  params 
) [pure virtual]
virtual std::string Sirikata::Proximity::generateMigrationData ( const UUID obj,
ServerID  source_server,
ServerID  dest_server 
) [pure virtual]

Produce data for the migration of obj from source_server to dest_server.

Implements Sirikata::MigrationDataClient.

Implemented in Sirikata::LibproxManualProximity, and Sirikata::LibproxProximity.

Referenced by Sirikata::Server::handleMigrationEvent().

virtual std::string Sirikata::Proximity::migrationClientTag ( ) [pure virtual]
virtual void Sirikata::Proximity::newSession ( ObjectSession session) [inline, virtual]

Reimplemented from Sirikata::ObjectSessionListener.

Reimplemented in Sirikata::LibproxProximity.

virtual int32 Sirikata::Proximity::objectHostQueries ( ) const [inline, protected, virtual]

Reimplemented in Sirikata::LibproxManualProximity.

Referenced by reportStats().

virtual int32 Sirikata::Proximity::objectQueries ( ) const [inline, protected, virtual]

Reimplemented in Sirikata::LibproxProximity.

Referenced by reportStats().

virtual void Sirikata::Proximity::onObjectHostSession ( const OHDP::NodeID id,
ObjectHostSessionPtr  oh_sess 
) [inline, virtual]
virtual void Sirikata::Proximity::onObjectHostSessionEnded ( const OHDP::NodeID id) [inline, virtual]
virtual void Sirikata::Proximity::onSpaceNetworkConnected ( ServerID  sid) [inline, virtual]
virtual void Sirikata::Proximity::onSpaceNetworkDisconnected ( ServerID  sid) [inline, virtual]
void Sirikata::Proximity::poll ( ) [virtual]

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

Implements Sirikata::PollingService.

Reimplemented in Sirikata::LibproxManualProximity, and Sirikata::LibproxProximity.

virtual void Sirikata::Proximity::receiveMessage ( Message msg) [inline, virtual]
virtual void Sirikata::Proximity::receiveMigrationData ( const UUID obj,
ServerID  source_server,
ServerID  dest_server,
const std::string &  data 
) [pure virtual]

Receive data for the migration of obj from source_server to dest_server.

Implements Sirikata::MigrationDataClient.

Implemented in Sirikata::LibproxManualProximity, and Sirikata::LibproxProximity.

Referenced by Sirikata::Server::handleMigration(), and Sirikata::Server::processAlreadyMigrating().

virtual void Sirikata::Proximity::removeQuery ( UUID  obj) [pure virtual]
void Sirikata::Proximity::reportStats ( ) [protected]
virtual int32 Sirikata::Proximity::serverQueries ( ) const [inline, protected, virtual]
virtual void Sirikata::Proximity::sessionClosed ( ObjectSession session) [inline, virtual]

Reimplemented from Sirikata::ObjectSessionListener.

Reimplemented in Sirikata::LibproxProximity.

void Sirikata::Proximity::start ( ) [virtual]

Start polling this service on this strand at the given maximum rate.

Reimplemented from Sirikata::PollingService.

Reimplemented in Sirikata::LibproxManualProximity, Sirikata::LibproxProximity, and Sirikata::LibproxProximityBase.

References mStatsPoller, and Sirikata::Poller::start().

void Sirikata::Proximity::stop ( ) [virtual]

Stop scheduling this service.

Note that this does not immediately stop the service, it simply guarantees the service will not be scheduled again. This allows outstanding events to be handled properly.

Reimplemented from Sirikata::PollingService.

Reimplemented in Sirikata::LibproxManualProximity, and Sirikata::LibproxProximityBase.

References mStatsPoller, and Sirikata::Poller::stop().

virtual void Sirikata::Proximity::updatedSegmentation ( CoordinateSegmentation cseg,
const std::vector< SegmentationInfo > &  new_seg 
) [inline, virtual]

Member Data Documentation

Referenced by Sirikata::LibproxProximityBase::addObjectHostProxStreamInfo(), Sirikata::LibproxProximityBase::addObjectProxStreamInfo(), Sirikata::LibproxProximityBase::aggregateBoundsUpdated(), Sirikata::LibproxProximityBase::aggregateChildAdded(), Sirikata::LibproxProximityBase::aggregateChildRemoved(), Sirikata::LibproxProximityBase::aggregateCreated(), Sirikata::LibproxProximityBase::aggregateDestroyed(), Sirikata::LibproxProximity::commandListNodes(), Sirikata::LibproxManualProximity::commandListNodes(), Sirikata::LibproxManualProximity::destroyQuery(), Sirikata::LibproxProximity::generateObjectQueryEvents(), Sirikata::LibproxProximity::generateServerQueryEvents(), Sirikata::LibproxProximityBase::getBaseStream(), Sirikata::LibproxProximityBase::handleCheckObjectClass(), Sirikata::LibproxProximity::handleDisconnectedServer(), Sirikata::LibproxManualProximity::handleOnPintoServerResult(), Sirikata::LibproxProximity::handleRemoveObjectQuery(), Sirikata::LibproxProximity::handleRemoveServerQuery(), Sirikata::LibproxProximityBase::LibproxProximityBase(), Sirikata::LibproxProximity::onPintoServerResult(), Proximity(), Sirikata::LibproxManualProximity::queryHasEvents(), Sirikata::LibproxProximity::recomputeAggregateQueryBounds(), Sirikata::LibproxManualProximity::registerOHQueryWithServerHandlers(), Sirikata::LibproxManualProximity::registerOHQueryWithServerIndexHandler(), Sirikata::LibproxManualProximity::registerServerQuery(), reportStats(), Sirikata::LibproxProximityBase::sendObjectHostResult(), Sirikata::LibproxProximityBase::sendObjectResult(), Sirikata::LibproxProximity::sendQueryRequests(), Sirikata::LibproxManualProximity::sendReplicatedClientProxMessage(), Sirikata::LibproxProximityBase::start(), Sirikata::LibproxProximity::start(), Sirikata::LibproxManualProximity::start(), Sirikata::LibproxProximity::tickQueryHandler(), Sirikata::LibproxManualProximity::tickQueryHandlers(), Sirikata::LibproxManualProximity::unregisterOHQueryWithServerHandlers(), Sirikata::LibproxManualProximity::unregisterOHQueryWithServerIndexHandler(), Sirikata::LibproxProximityBase::updateAggregateLoc(), Sirikata::LibproxProximityBase::updatedSegmentation(), Sirikata::LibproxProximity::updateQuery(), Sirikata::LibproxManualProximity::updateServerQueryResults(), Sirikata::LibproxProximityBase::validSession(), and ~Proximity().

Referenced by Sirikata::LibproxProximity::addQuery(), Sirikata::LibproxProximityBase::aggregateCreated(), Sirikata::LibproxProximityBase::aggregateDestroyed(), Sirikata::LibproxProximityBase::handleAddObjectLocSubscription(), Sirikata::LibproxProximityBase::handleAddObjectLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleAddOHLocSubscription(), Sirikata::LibproxProximityBase::handleAddOHLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleAddServerLocSubscription(), Sirikata::LibproxProximityBase::handleAddServerLocSubscriptionWithID(), Sirikata::LibproxProximity::handleDisconnectedServer(), Sirikata::LibproxProximity::handleObjectProximityMessage(), Sirikata::LibproxProximityBase::handleRemoveAllObjectLocSubscription(), Sirikata::LibproxProximityBase::handleRemoveAllOHLocSubscription(), Sirikata::LibproxProximityBase::handleRemoveAllServerLocSubscription(), Sirikata::LibproxProximityBase::handleRemoveObjectLocSubscription(), Sirikata::LibproxProximityBase::handleRemoveObjectLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleRemoveOHLocSubscription(), Sirikata::LibproxProximityBase::handleRemoveOHLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleRemoveServerLocSubscription(), Sirikata::LibproxProximityBase::handleRemoveServerLocSubscriptionWithID(), Sirikata::LibproxManualProximity::handleUpdateServerQueryResultsToLocService(), Sirikata::LibproxProximity::localBoundsUpdated(), Sirikata::LibproxProximity::localLocationUpdated(), Sirikata::LibproxProximityBase::processExpiredStaticObjectTimeouts(), Proximity(), Sirikata::LibproxProximity::receiveMessage(), Sirikata::LibproxProximityBase::updateAggregateLoc(), and ~Proximity().

Referenced by start(), and stop().

Referenced by reportStats().

Referenced by reportStats().

Referenced by reportStats().


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