Sirikata
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::LibproxManualProximity Class Reference

Implementation of Proximity using manual traversal of the object tree. More...

#include <LibproxManualProximity.hpp>

Inheritance diagram for Sirikata::LibproxManualProximity:
Collaboration diagram for Sirikata::LibproxManualProximity:

List of all members.

Classes

struct  ProxQueryHandlerData
struct  ReplicatedIndexQueryHandler
struct  ReplicatedServerData

Public Member Functions

 LibproxManualProximity (SpaceContext *ctx, LocationService *locservice, CoordinateSegmentation *cseg, SpaceNetwork *net, AggregateManager *aggmgr)
 ~LibproxManualProximity ()
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)
virtual void addQuery (UUID obj, const String &params)
virtual void removeQuery (UUID obj)
virtual void poll ()
 Override this method to specify the work to be done when polling.
virtual void onPintoServerResult (const Sirikata::Protocol::Prox::ProximityUpdate &update)
virtual void onPintoServerLocUpdate (const LocUpdate &update)
virtual void localObjectRemoved (const UUID &uuid, bool agg)
virtual void localLocationUpdated (const UUID &uuid, bool agg, const TimedMotionVector3f &newval)
virtual void replicaObjectRemoved (const UUID &uuid)
virtual void replicaLocationUpdated (const UUID &uuid, const TimedMotionVector3f &newval)
virtual void onLocationUpdateFromServer (const ServerID sid, const Sirikata::Protocol::Loc::LocationUpdate &update)
virtual void receiveMessage (Message *msg)
virtual std::string migrationClientTag ()
 The tag used to uniquely identify this component.
virtual std::string generateMigrationData (const UUID &obj, ServerID source_server, ServerID dest_server)
 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)
 Receive data for the migration of obj from source_server to dest_server.
virtual void onObjectHostSession (const OHDP::NodeID &id, ObjectHostSessionPtr oh_sess)
virtual void onObjectHostSessionEnded (const OHDP::NodeID &id)
virtual void aggregateCreated (ProxAggregator *handler, const ObjectReference &objid)
virtual void aggregateChildAdded (ProxAggregator *handler, const ObjectReference &objid, const ObjectReference &child, const Vector3f &bnds_center, const float32 bnds_center_radius, const float32 max_obj_size)
virtual void aggregateChildRemoved (ProxAggregator *handler, const ObjectReference &objid, const ObjectReference &child, const Vector3f &bnds_center, const float32 bnds_center_radius, const float32 max_obj_size)
virtual void aggregateBoundsUpdated (ProxAggregator *handler, const ObjectReference &objid, const Vector3f &bnds_center, const float32 bnds_center_radius, const float32 max_obj_size)
virtual void aggregateDestroyed (ProxAggregator *handler, const ObjectReference &objid)
virtual void aggregateObserved (ProxAggregator *handler, const ObjectReference &objid, uint32 nobservers, uint32 nchildren)
void queryHasEvents (ProxQuery *query)

Private Types

typedef
Prox::ManualQueryHandler
< ObjectProxSimulationTraits > 
ProxQueryHandler
typedef std::tr1::shared_ptr
< ProxQueryHandler
ProxQueryHandlerPtr
typedef Prox::Aggregator
< ObjectProxSimulationTraits > 
ProxAggregator
typedef Prox::ManualQuery
< ObjectProxSimulationTraits > 
ProxQuery
typedef Prox::QueryEvent
< ObjectProxSimulationTraits > 
ProxQueryEvent
typedef
Prox::LocationServiceCache
< ObjectProxSimulationTraits > 
ProxLocCache
typedef std::pair
< OHDP::NodeID,
Sirikata::Protocol::Object::ObjectMessage * > 
OHResult
typedef
std::tr1::unordered_set
< ObjectReference,
ObjectReference::Hasher
ObjectIDSet
typedef
std::tr1::unordered_set
< OHDP::NodeID,
OHDP::NodeID::Hasher
OHQuerierSet
typedef
Pinto::Manual::ReplicatedClientWithID
< ServerID > 
ReplicatedClient
typedef ReplicatedClient::Parent ReplicatedClientParent
typedef std::tr1::shared_ptr
< ReplicatedClient
ReplicatedClientPtr
typedef
std::tr1::unordered_map
< ProxIndexID,
ReplicatedIndexQueryHandler
ReplicatedIndexQueryHandlerMap
typedef
std::tr1::unordered_map
< ServerID,
ReplicatedServerData
ReplicatedServerDataMap
typedef std::pair< ServerID,
ProxIndexID
NodeProxIndexID
typedef
std::tr1::unordered_map
< ProxIndexID, NodeProxIndexID
IndexToServerMap
typedef
std::tr1::unordered_map
< ProxAggregator
*, NodeProxIndexID
InverseReplicatedIndexQueryHandlerMap
typedef
std::tr1::unordered_map
< ProxIndexID, ProxQuery * > 
IndexToQueryMap
typedef
std::tr1::unordered_map
< ServerID, IndexToQueryMap
ServerToIndexToQueryMap
typedef
std::tr1::unordered_map
< OHDP::NodeID,
ServerToIndexToQueryMap,
OHDP::NodeID::Hasher
OHQueryToServerToIndexToQueryMap
typedef std::tr1::tuple
< OHDP::NodeID, ServerID,
ProxIndexID
OHRemoteQueryID
typedef
std::tr1::unordered_map
< ProxQuery *, OHRemoteQueryID
InvertedOHRemoteQueryMap
typedef
std::tr1::unordered_map
< OHDP::NodeID, ProxQuery
*, OHDP::NodeID::Hasher
OHQueryMap
typedef
std::tr1::unordered_map
< ProxQuery *, OHDP::NodeID
InvertedOHQueryMap
typedef
std::tr1::unordered_map
< OHDP::NodeID, SeqNoPtr,
OHDP::NodeID::Hasher
OHSeqNoInfoMap
typedef
std::tr1::unordered_map
< ServerID, ProxQuery * > 
ServerQueryMap
typedef
std::tr1::unordered_map
< ProxQuery *, ServerID > 
InvertedServerQueryMap
typedef
std::tr1::unordered_map
< ServerID, SeqNoPtr
ServerSeqNoInfoMap

Private Member Functions

virtual void sendReplicatedClientProxMessage (ReplicatedClient *client, const ServerID &evt_src_server, const String &msg)
void handleUpdateServerQueryResultsToLocService (ServerID sid, const Sirikata::Protocol::Prox::ProximityResults &results)
virtual int32 objectHostQueries () const
virtual int32 serverQueries () const
void handleObjectHostSubstream (int success, OHDPSST::Stream::Ptr substream, SeqNoPtr seqNo)
void updateServerQuery (ServerID sid, const String &raw_query)
void updateServerQueryResults (ServerID sid, const Sirikata::Protocol::Prox::ProximityResults &results)
void tickQueryHandlers ()
virtual void onCreatedReplicatedIndex (ReplicatedClient *client, const ServerID &evt_src_server, ProxIndexID proxid, ReplicatedLocationServiceCachePtr loccache, ServerID sid, bool dynamic_objects)
virtual void onDestroyedReplicatedIndex (ReplicatedClient *client, const ServerID &evt_src_server, ProxIndexID proxid)
virtual void handleForcedDisconnection (ServerID server)
void handleOnPintoServerResult (const Sirikata::Protocol::Prox::ProximityUpdate &update)
void handleOnPintoServerLocUpdate (const CopyableLocUpdate &update)
void handleUpdateServerQuery (ServerID sid, const String &raw_query)
void handleUpdateServerQueryResultsToReplicatedTrees (ServerID sid, const Sirikata::Protocol::Prox::ProximityResults &results)
void handleUpdateServerQueryResultsToRetryRequests (ServerID sid, const Sirikata::Protocol::Prox::ProximityResults &results)
void registerServerQuery (const ServerID &querier)
void unregisterServerQuery (const ServerID &querier)
SeqNoPtr getOrCreateSeqNoInfo (const ServerID server_id)
void eraseSeqNoInfo (const ServerID server_id)
void handleObjectHostProxMessage (const OHDP::NodeID &id, const String &data, SeqNoPtr seqNo)
void handleObjectHostSessionEnded (const OHDP::NodeID &id)
void destroyQuery (const OHDP::NodeID &id)
void registerOHQueryWithServerHandlers (const OHDP::NodeID &querier, ServerID queried_node)
void unregisterOHQueryWithServerHandlers (const OHDP::NodeID &querier, ServerID queried_node)
void registerOHQueryWithServerIndexHandler (const OHDP::NodeID &querier, ServerID queried_node, ProxIndexID queried_index)
void unregisterOHQueryWithServerIndexHandler (const OHDP::NodeID &querier, ServerID queried_node, ProxIndexID queried_index)
bool handlerShouldHandleObject (bool is_static_handler, bool is_global_handler, const ObjectReference &obj_id, bool is_local, bool is_aggregate, const TimedMotionVector3f &pos, const BoundingSphere3f &region, float maxSize)
void handleCheckObjectClassForHandlers (const ObjectReference &objid, bool is_static, ProxQueryHandlerData handlers[NUM_OBJECT_CLASSES])
virtual void trySwapHandlers (bool is_local, const ObjectReference &objid, bool is_static)
SeqNoPtr getSeqNoInfo (const OHDP::NodeID &node)
void eraseSeqNoInfo (const OHDP::NodeID &node)
virtual void commandProperties (const Command::Command &cmd, Command::Commander *cmdr, Command::CommandID cmdid)
virtual void commandListHandlers (const Command::Command &cmd, Command::Commander *cmdr, Command::CommandID cmdid)
bool parseHandlerName (const String &name, ProxQueryHandler **handler_out)
virtual void commandForceRebuild (const Command::Command &cmd, Command::Commander *cmdr, Command::CommandID cmdid)
virtual void commandListNodes (const Command::Command &cmd, Command::Commander *cmdr, Command::CommandID cmdid)
virtual void commandListQueriers (const Command::Command &cmd, Command::Commander *cmdr, Command::CommandID cmdid)

Private Attributes

std::deque< Message * > mServerResultsToSend
std::deque< OHResultmOHResultsToSend
ReplicatedServerDataMap mReplicatedServerDataMap
IndexToServerMap mLocalToRemoteIndexMap
InverseReplicatedIndexQueryHandlerMap mAggregatorToIndexMap
OHQueryToServerToIndexToQueryMap mOHRemoteQueries
InvertedOHRemoteQueryMap mInvertedOHRemoteQueries
OHQueryMap mOHQueries [NUM_OBJECT_CLASSES]
InvertedOHQueryMap mInvertedOHQueries
Sirikata::ThreadSafeQueue
< OHResult
mOHResults
OHSeqNoInfoMap mOHSeqNos
ManualReplicatedRequestManager mOHRequestsManager
ServerQueryMap mServerQueries [NUM_OBJECT_CLASSES]
InvertedServerQueryMap mInvertedServerQueries
Sirikata::ThreadSafeQueue
< Message * > 
mServerResults
ServerSeqNoInfoMap mServerSeqNos
ProxQueryHandlerData mLocalQueryHandler [NUM_OBJECT_CLASSES]
PollerService mLocalHandlerPoller

Detailed Description

Implementation of Proximity using manual traversal of the object tree.

The Proximity library provides the tree and a simple interface to manage cuts and the client manages the cut.


Member Typedef Documentation

typedef std::tr1::unordered_map<ProxIndexID, ProxQuery*> Sirikata::LibproxManualProximity::IndexToQueryMap [private]
typedef std::tr1::unordered_map<ProxQuery*, OHDP::NodeID> Sirikata::LibproxManualProximity::InvertedOHQueryMap [private]
typedef std::tr1::unordered_map<ProxQuery*, ServerID> Sirikata::LibproxManualProximity::InvertedServerQueryMap [private]
typedef std::pair<ServerID, ProxIndexID> Sirikata::LibproxManualProximity::NodeProxIndexID [private]
typedef std::tr1::tuple<OHDP::NodeID, ServerID, ProxIndexID> Sirikata::LibproxManualProximity::OHRemoteQueryID [private]
typedef std::pair<OHDP::NodeID, Sirikata::Protocol::Object::ObjectMessage*> Sirikata::LibproxManualProximity::OHResult [private]
typedef Prox::Aggregator<ObjectProxSimulationTraits> Sirikata::LibproxManualProximity::ProxAggregator [private]
typedef Prox::LocationServiceCache<ObjectProxSimulationTraits> Sirikata::LibproxManualProximity::ProxLocCache [private]
typedef Prox::ManualQuery<ObjectProxSimulationTraits> Sirikata::LibproxManualProximity::ProxQuery [private]
typedef Prox::QueryEvent<ObjectProxSimulationTraits> Sirikata::LibproxManualProximity::ProxQueryEvent [private]
typedef Prox::ManualQueryHandler<ObjectProxSimulationTraits> Sirikata::LibproxManualProximity::ProxQueryHandler [private]
typedef Pinto::Manual::ReplicatedClientWithID<ServerID> Sirikata::LibproxManualProximity::ReplicatedClient [private]
typedef ReplicatedClient::Parent Sirikata::LibproxManualProximity::ReplicatedClientParent [private]
typedef std::tr1::unordered_map<ServerID, ReplicatedServerData> Sirikata::LibproxManualProximity::ReplicatedServerDataMap [private]
typedef std::tr1::unordered_map<ServerID, ProxQuery*> Sirikata::LibproxManualProximity::ServerQueryMap [private]
typedef std::tr1::unordered_map<ServerID, SeqNoPtr> Sirikata::LibproxManualProximity::ServerSeqNoInfoMap [private]
typedef std::tr1::unordered_map<ServerID, IndexToQueryMap> Sirikata::LibproxManualProximity::ServerToIndexToQueryMap [private]

Constructor & Destructor Documentation

Sirikata::LibproxManualProximity::LibproxManualProximity ( SpaceContext ctx,
LocationService locservice,
CoordinateSegmentation cseg,
SpaceNetwork net,
AggregateManager aggmgr 
)
Sirikata::LibproxManualProximity::~LibproxManualProximity ( )

Member Function Documentation

void Sirikata::LibproxManualProximity::addQuery ( UUID  obj,
SolidAngle  sa,
uint32  max_results 
) [virtual]

Implements Sirikata::Proximity.

void Sirikata::LibproxManualProximity::addQuery ( UUID  obj,
const String &  params 
) [virtual]

Implements Sirikata::Proximity.

void Sirikata::LibproxManualProximity::aggregateBoundsUpdated ( ProxAggregator handler,
const ObjectReference objid,
const Vector3f &  bnds_center,
const float32  bnds_center_radius,
const float32  max_obj_size 
) [virtual]
void Sirikata::LibproxManualProximity::aggregateChildAdded ( ProxAggregator handler,
const ObjectReference objid,
const ObjectReference child,
const Vector3f &  bnds_center,
const float32  bnds_center_radius,
const float32  max_obj_size 
) [virtual]
void Sirikata::LibproxManualProximity::aggregateChildRemoved ( ProxAggregator handler,
const ObjectReference objid,
const ObjectReference child,
const Vector3f &  bnds_center,
const float32  bnds_center_radius,
const float32  max_obj_size 
) [virtual]
void Sirikata::LibproxManualProximity::aggregateCreated ( ProxAggregator handler,
const ObjectReference objid 
) [virtual]
void Sirikata::LibproxManualProximity::aggregateDestroyed ( ProxAggregator handler,
const ObjectReference objid 
) [virtual]
void Sirikata::LibproxManualProximity::aggregateObserved ( ProxAggregator handler,
const ObjectReference objid,
uint32  nobservers,
uint32  nchildren 
) [virtual]
void Sirikata::LibproxManualProximity::commandForceRebuild ( const Command::Command cmd,
Command::Commander cmdr,
Command::CommandID  cmdid 
) [private, virtual]
void Sirikata::LibproxManualProximity::commandListHandlers ( const Command::Command cmd,
Command::Commander cmdr,
Command::CommandID  cmdid 
) [private, virtual]
void Sirikata::LibproxManualProximity::commandListNodes ( const Command::Command cmd,
Command::Commander cmdr,
Command::CommandID  cmdid 
) [private, virtual]
void Sirikata::LibproxManualProximity::commandListQueriers ( const Command::Command cmd,
Command::Commander cmdr,
Command::CommandID  cmdid 
) [private, virtual]
void Sirikata::LibproxManualProximity::commandProperties ( const Command::Command cmd,
Command::Commander cmdr,
Command::CommandID  cmdid 
) [private, virtual]
void Sirikata::LibproxManualProximity::destroyQuery ( const OHDP::NodeID id) [private]
void Sirikata::LibproxManualProximity::eraseSeqNoInfo ( const ServerID  server_id) [private]

References mServerSeqNos.

Referenced by destroyQuery().

void Sirikata::LibproxManualProximity::eraseSeqNoInfo ( const OHDP::NodeID node) [private]

References mOHSeqNos.

std::string Sirikata::LibproxManualProximity::generateMigrationData ( const UUID obj,
ServerID  source_server,
ServerID  dest_server 
) [virtual]

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

Implements Sirikata::Proximity.

SeqNoPtr Sirikata::LibproxManualProximity::getOrCreateSeqNoInfo ( const ServerID  server_id) [private]

References mServerSeqNos.

Referenced by queryHasEvents().

SeqNoPtr Sirikata::LibproxManualProximity::getSeqNoInfo ( const OHDP::NodeID node) [private]

References mOHSeqNos.

Referenced by queryHasEvents().

void Sirikata::LibproxManualProximity::handleCheckObjectClassForHandlers ( const ObjectReference objid,
bool  is_static,
ProxQueryHandlerData  handlers[NUM_OBJECT_CLASSES] 
) [private]
void Sirikata::LibproxManualProximity::handleForcedDisconnection ( ServerID  server) [private, virtual]

References PROXLOG, and Sirikata::Logging::warn.

void Sirikata::LibproxManualProximity::handleObjectHostProxMessage ( const OHDP::NodeID id,
const String &  data,
SeqNoPtr  seqNo 
) [private]
void Sirikata::LibproxManualProximity::handleObjectHostSessionEnded ( const OHDP::NodeID id) [private]

References destroyQuery().

Referenced by onObjectHostSessionEnded().

void Sirikata::LibproxManualProximity::handleObjectHostSubstream ( int  success,
OHDPSST::Stream::Ptr  substream,
SeqNoPtr  seqNo 
) [private]
void Sirikata::LibproxManualProximity::handleOnPintoServerLocUpdate ( const CopyableLocUpdate &  update) [private]
void Sirikata::LibproxManualProximity::handleOnPintoServerResult ( const Sirikata::Protocol::Prox::ProximityUpdate &  update) [private]
bool Sirikata::LibproxManualProximity::handlerShouldHandleObject ( bool  is_static_handler,
bool  is_global_handler,
const ObjectReference obj_id,
bool  is_local,
bool  is_aggregate,
const TimedMotionVector3f pos,
const BoundingSphere3f &  region,
float  maxSize 
) [private]
void Sirikata::LibproxManualProximity::handleUpdateServerQuery ( ServerID  sid,
const String &  raw_query 
) [private]
void Sirikata::LibproxManualProximity::handleUpdateServerQueryResultsToLocService ( ServerID  sid,
const Sirikata::Protocol::Prox::ProximityResults &  results 
) [private]
void Sirikata::LibproxManualProximity::handleUpdateServerQueryResultsToReplicatedTrees ( ServerID  sid,
const Sirikata::Protocol::Prox::ProximityResults &  results 
) [private]
void Sirikata::LibproxManualProximity::handleUpdateServerQueryResultsToRetryRequests ( ServerID  sid,
const Sirikata::Protocol::Prox::ProximityResults &  results 
) [private]
void Sirikata::LibproxManualProximity::localLocationUpdated ( const UUID uuid,
bool  agg,
const TimedMotionVector3f newval 
) [virtual]
void Sirikata::LibproxManualProximity::localObjectRemoved ( const UUID uuid,
bool  agg 
) [virtual]
std::string Sirikata::LibproxManualProximity::migrationClientTag ( ) [virtual]

The tag used to uniquely identify this component.

Implements Sirikata::Proximity.

int32 Sirikata::LibproxManualProximity::objectHostQueries ( ) const [private, virtual]
void Sirikata::LibproxManualProximity::onCreatedReplicatedIndex ( ReplicatedClient client,
const ServerID &  evt_src_server,
ProxIndexID  proxid,
ReplicatedLocationServiceCachePtr  loccache,
ServerID  sid,
bool  dynamic_objects 
) [private, virtual]
void Sirikata::LibproxManualProximity::onDestroyedReplicatedIndex ( ReplicatedClient client,
const ServerID &  evt_src_server,
ProxIndexID  proxid 
) [private, virtual]
void Sirikata::LibproxManualProximity::onLocationUpdateFromServer ( const ServerID  sid,
const Sirikata::Protocol::Loc::LocationUpdate &  update 
) [virtual]
void Sirikata::LibproxManualProximity::onObjectHostSession ( const OHDP::NodeID id,
ObjectHostSessionPtr  oh_sess 
) [virtual]
void Sirikata::LibproxManualProximity::onObjectHostSessionEnded ( const OHDP::NodeID id) [virtual]
void Sirikata::LibproxManualProximity::onPintoServerLocUpdate ( const LocUpdate &  update) [virtual]
void Sirikata::LibproxManualProximity::onPintoServerResult ( const Sirikata::Protocol::Prox::ProximityUpdate &  update) [virtual]
bool Sirikata::LibproxManualProximity::parseHandlerName ( const String &  name,
ProxQueryHandler **  handler_out 
) [private]
void Sirikata::LibproxManualProximity::poll ( ) [virtual]
void Sirikata::LibproxManualProximity::queryHasEvents ( ProxQuery query)

References Sirikata::UUID::asUInt32(), Sirikata::AggregateBoundingInfo::centerBoundsRadius, Sirikata::AggregateBoundingInfo::centerOffset, Sirikata::createObjectMessage(), Sirikata::Logging::detailed, Sirikata::Logging::error, Sirikata::ObjectReference::getAsUUID(), Sirikata::GetOptionValue< uint32 >(), getOrCreateSeqNoInfo(), getSeqNoInfo(), Sirikata::LibproxProximityBase::handleAddOHLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleAddServerLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleRemoveOHLocSubscriptionWithID(), Sirikata::LibproxProximityBase::handleRemoveServerLocSubscriptionWithID(), Sirikata::SpaceContext::id(), Sirikata::Logging::insane, Sirikata::Context::mainStrand, Sirikata::AggregateBoundingInfo::maxObjectRadius, Sirikata::Proximity::mContext, mInvertedOHQueries, mInvertedOHRemoteQueries, mInvertedServerQueries, mOHResults, Sirikata::Proximity::mProxStrand, Sirikata::LibproxProximityBase::mQueryHasEventsNotRentrant, mServerResults, Sirikata::UUID::null(), Sirikata::ObjectReference::null(), Sirikata::OHDP::NodeID::null(), OBJECT_PORT_PROXIMITY, Sirikata::TimedMotionQuaternion::position(), Sirikata::TimedMotionVector< MotionVectorType >::position(), Sirikata::Network::IOStrand::post(), PROX_MAX_PER_RESULT, PROXLOG, Sirikata::ThreadSafeQueue< T >::push(), registerOHQueryWithServerHandlers(), Sirikata::serializePBJMessage(), SERVER_PORT_PROX, Sirikata::Context::simTime(), unregisterOHQueryWithServerHandlers(), Sirikata::TimedMotionQuaternion::updateTime(), Sirikata::TimedMotionVector< MotionVectorType >::updateTime(), Sirikata::TimedMotionQuaternion::velocity(), and Sirikata::TimedMotionVector< MotionVectorType >::velocity().

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

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

Implements Sirikata::Proximity.

void Sirikata::LibproxManualProximity::registerOHQueryWithServerHandlers ( const OHDP::NodeID querier,
ServerID  queried_node 
) [private]
void Sirikata::LibproxManualProximity::registerOHQueryWithServerIndexHandler ( const OHDP::NodeID querier,
ServerID  queried_node,
ProxIndexID  queried_index 
) [private]
void Sirikata::LibproxManualProximity::registerServerQuery ( const ServerID &  querier) [private]
void Sirikata::LibproxManualProximity::removeQuery ( UUID  obj) [virtual]

Implements Sirikata::Proximity.

void Sirikata::LibproxManualProximity::replicaLocationUpdated ( const UUID uuid,
const TimedMotionVector3f newval 
) [virtual]

Reimplemented from Sirikata::LocationServiceListener.

void Sirikata::LibproxManualProximity::replicaObjectRemoved ( const UUID uuid) [virtual]
void Sirikata::LibproxManualProximity::sendReplicatedClientProxMessage ( ReplicatedClient client,
const ServerID &  evt_src_server,
const String &  msg 
) [private, virtual]
int32 Sirikata::LibproxManualProximity::serverQueries ( ) const [private, virtual]
void Sirikata::LibproxManualProximity::start ( ) [virtual]

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

Reimplemented from Sirikata::LibproxProximityBase.

References Sirikata::Context::add(), Sirikata::Proximity::mContext, mLocalHandlerPoller, and mOHRequestsManager.

void Sirikata::LibproxManualProximity::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::LibproxProximityBase.

References mReplicatedServerDataMap.

void Sirikata::LibproxManualProximity::tickQueryHandlers ( ) [private]
void Sirikata::LibproxManualProximity::trySwapHandlers ( bool  is_local,
const ObjectReference objid,
bool  is_static 
) [private, virtual]
void Sirikata::LibproxManualProximity::unregisterOHQueryWithServerHandlers ( const OHDP::NodeID querier,
ServerID  queried_node 
) [private]
void Sirikata::LibproxManualProximity::unregisterOHQueryWithServerIndexHandler ( const OHDP::NodeID querier,
ServerID  queried_node,
ProxIndexID  queried_index 
) [private]
void Sirikata::LibproxManualProximity::unregisterServerQuery ( const ServerID &  querier) [private]
void Sirikata::LibproxManualProximity::updateServerQuery ( ServerID  sid,
const String &  raw_query 
) [private]
void Sirikata::LibproxManualProximity::updateServerQueryResults ( ServerID  sid,
const Sirikata::Protocol::Prox::ProximityResults &  results 
) [private]

Member Data Documentation

Referenced by start().

Referenced by poll(), and queryHasEvents().

Referenced by poll().

Referenced by commandProperties(), and poll().


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