Sirikata
|
ManualPintoManager responds to queries from space servers for a top-level tree, representing the highest-level aggregates. More...
#include <ManualPintoManager.hpp>
ManualPintoManager responds to queries from space servers for a top-level tree, representing the highest-level aggregates.
Each query has a cut, ManualPintoManager accepts commands to control it, and replicates data about nodes along and above the cut to the client space server.
typedef std::tr1::unordered_map<Sirikata::Network::Stream*, ClientData> Sirikata::ManualPintoManager::ClientDataMap [private] |
typedef std::tr1::unordered_map<Query*, Sirikata::Network::Stream*> Sirikata::ManualPintoManager::ClientsByQuery [private] |
typedef std::tr1::unordered_set<Sirikata::Network::Stream*> Sirikata::ManualPintoManager::ClientStreamSet [private] |
typedef std::tr1::unordered_set<ProxIndexID> Sirikata::ManualPintoManager::ProxIndexIDSet [private] |
typedef Prox::ManualQueryHandler<ServerProxSimulationTraits> Sirikata::ManualPintoManager::ProxQueryHandler [private] |
typedef Prox::ManualQuery<ServerProxSimulationTraits> Sirikata::ManualPintoManager::Query [private] |
typedef Prox::QueryEvent<ServerProxSimulationTraits> Sirikata::ManualPintoManager::QueryEvent [private] |
typedef std::tr1::unordered_set<ServerID> Sirikata::ManualPintoManager::ServerSet [private] |
typedef std::tr1::unordered_map<ServerID, ClientStreamSet> Sirikata::ManualPintoManager::ServerSubscriberMap [private] |
Sirikata::ManualPintoManager::ManualPintoManager | ( | PintoContext * | ctx | ) |
References Sirikata::PintoManagerBase::mLocCache, and mQueryHandler.
Sirikata::ManualPintoManager::~ManualPintoManager | ( | ) | [virtual] |
References mQueryHandler.
void Sirikata::ManualPintoManager::aggregateBoundsUpdated | ( | ProxAggregator * | handler, |
const ServerID & | objid, | ||
const Vector3f & | bnds_center, | ||
const float32 | bnds_center_radius, | ||
const float32 | max_obj_size | ||
) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References sendLocUpdate().
void Sirikata::ManualPintoManager::commandForceRebuild | ( | const Command::Command & | cmd, |
Command::Commander * | cmdr, | ||
Command::CommandID | cmdid | ||
) | [private, virtual] |
References Sirikata::Command::EmptyResult(), and Sirikata::Command::Commander::result().
void Sirikata::ManualPintoManager::commandListHandlers | ( | const Command::Command & | cmd, |
Command::Commander * | cmdr, | ||
Command::CommandID | cmdid | ||
) | [private, virtual] |
void Sirikata::ManualPintoManager::commandListNodes | ( | const Command::Command & | cmd, |
Command::Commander * | cmdr, | ||
Command::CommandID | cmdid | ||
) | [private, virtual] |
void Sirikata::ManualPintoManager::commandListQueriers | ( | const Command::Command & | cmd, |
Command::Commander * | cmdr, | ||
Command::CommandID | cmdid | ||
) | [private, virtual] |
void Sirikata::ManualPintoManager::commandProperties | ( | const Command::Command & | cmd, |
Command::Commander * | cmdr, | ||
Command::CommandID | cmdid | ||
) | [private, virtual] |
References Sirikata::Command::EmptyResult(), mClients, and Sirikata::Command::Commander::result().
void Sirikata::ManualPintoManager::commandStats | ( | const Command::Command & | cmd, |
Command::Commander * | cmdr, | ||
Command::CommandID | cmdid | ||
) | [private, virtual] |
References Sirikata::Command::EmptyResult(), and Sirikata::Command::Commander::result().
void Sirikata::ManualPintoManager::onConnected | ( | Sirikata::Network::Stream * | newStream | ) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References mClients.
void Sirikata::ManualPintoManager::onDisconnected | ( | Sirikata::Network::Stream * | stream | ) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References mClients, mClientsByQuery, mServerSubscribers, and tick().
void Sirikata::ManualPintoManager::onInitialMessage | ( | Sirikata::Network::Stream * | stream | ) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References mClients, mClientsByQuery, mQueryHandler, Sirikata::Time::null(), Sirikata::ManualPintoManager::ClientData::query, and tick().
void Sirikata::ManualPintoManager::onMaxSizeUpdate | ( | Sirikata::Network::Stream * | stream, |
float32 | ms | ||
) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References mClients, sendLocUpdate(), Sirikata::PintoManagerBase::streamServerID(), and tick().
void Sirikata::ManualPintoManager::onQueryUpdate | ( | Sirikata::Network::Stream * | stream, |
const String & | update | ||
) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References Sirikata::Logging::detailed, Sirikata::Logging::error, mClients, PINTO_LOG, Sirikata::PintoManagerBase::streamServerID(), and tick().
void Sirikata::ManualPintoManager::onRegionUpdate | ( | Sirikata::Network::Stream * | stream, |
BoundingSphere3f | bounds | ||
) | [private, virtual] |
Reimplemented from Sirikata::PintoManagerBase.
References mClients, sendLocUpdate(), and Sirikata::PintoManagerBase::streamServerID().
void Sirikata::ManualPintoManager::queryHasEvents | ( | Query * | query | ) | [private, virtual] |
References Sirikata::PintoManagerLocationServiceCache::centerBoundsRadius(), Sirikata::PintoManagerLocationServiceCache::centerOffset(), Sirikata::Quaternion::identity(), Sirikata::PintoManagerLocationServiceCache::location(), Sirikata::PintoManagerLocationServiceCache::maxSize(), mClients, mClientsByQuery, Sirikata::PintoManagerLocationServiceCache::mesh(), Sirikata::PintoManagerBase::mLocCache, mProxIndices, mServerSubscribers, Sirikata::Time::null(), Sirikata::TimedMotionVector< MotionVectorType >::position(), Sirikata::Network::ReliableOrdered, Sirikata::ManualPintoManager::ClientData::results, Sirikata::Network::Stream::send(), Sirikata::ManualPintoManager::ClientData::seqno, Sirikata::serializePBJMessage(), Sirikata::PintoManagerLocationServiceCache::startTracking(), Sirikata::PintoManagerLocationServiceCache::stopTracking(), Sirikata::PintoManagerLocationServiceCache::tracking(), Sirikata::TimedMotionVector< MotionVectorType >::updateTime(), and Sirikata::TimedMotionVector< MotionVectorType >::velocity().
void Sirikata::ManualPintoManager::sendLocUpdate | ( | ServerID | about | ) | [private] |
References Sirikata::PintoManagerLocationServiceCache::centerBoundsRadius(), Sirikata::PintoManagerLocationServiceCache::centerOffset(), Sirikata::PintoManagerLocationServiceCache::location(), Sirikata::PintoManagerLocationServiceCache::maxSize(), mClients, Sirikata::PintoManagerBase::mLocCache, mProxIndices, mServerSubscribers, Sirikata::TimedMotionVector< MotionVectorType >::position(), Sirikata::Network::ReliableOrdered, Sirikata::Network::Stream::send(), Sirikata::ManualPintoManager::ClientData::seqno, Sirikata::serializePBJMessage(), Sirikata::PintoManagerLocationServiceCache::startTracking(), Sirikata::PintoManagerLocationServiceCache::stopTracking(), Sirikata::PintoManagerLocationServiceCache::tracking(), Sirikata::TimedMotionVector< MotionVectorType >::updateTime(), and Sirikata::TimedMotionVector< MotionVectorType >::velocity().
Referenced by aggregateBoundsUpdated(), onMaxSizeUpdate(), and onRegionUpdate().
void Sirikata::ManualPintoManager::tick | ( | ) | [private] |
References mDt, mLastTime, and mQueryHandler.
Referenced by onDisconnected(), onInitialMessage(), onMaxSizeUpdate(), and onQueryUpdate().
Referenced by onDisconnected(), onInitialMessage(), and queryHasEvents().
Duration Sirikata::ManualPintoManager::mDt [private] |
Referenced by tick().
Time Sirikata::ManualPintoManager::mLastTime [private] |
Referenced by tick().
Referenced by queryHasEvents(), and sendLocUpdate().
Referenced by commandListHandlers(), commandListNodes(), ManualPintoManager(), onInitialMessage(), tick(), and ~ManualPintoManager().
Referenced by onDisconnected(), queryHasEvents(), and sendLocUpdate().