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

ManualPintoManager responds to queries from space servers for a top-level tree, representing the highest-level aggregates. More...

#include <ManualPintoManager.hpp>

Inheritance diagram for Sirikata::ManualPintoManager:
Collaboration diagram for Sirikata::ManualPintoManager:

List of all members.

Classes

struct  ClientData

Public Member Functions

 ManualPintoManager (PintoContext *ctx)
virtual ~ManualPintoManager ()

Private Types

typedef
Prox::ManualQueryHandler
< ServerProxSimulationTraits
ProxQueryHandler
typedef Prox::ManualQuery
< ServerProxSimulationTraits
Query
typedef Prox::QueryEvent
< ServerProxSimulationTraits
QueryEvent
typedef
std::tr1::unordered_set
< ServerID > 
ServerSet
typedef
std::tr1::unordered_map
< Sirikata::Network::Stream
*, ClientData
ClientDataMap
typedef
std::tr1::unordered_map< Query
*, Sirikata::Network::Stream * > 
ClientsByQuery
typedef
std::tr1::unordered_set
< Sirikata::Network::Stream * > 
ClientStreamSet
typedef
std::tr1::unordered_map
< ServerID, ClientStreamSet
ServerSubscriberMap
typedef
std::tr1::unordered_set
< ProxIndexID
ProxIndexIDSet

Private Member Functions

virtual void onConnected (Sirikata::Network::Stream *newStream)
virtual void onInitialMessage (Sirikata::Network::Stream *stream)
virtual void onRegionUpdate (Sirikata::Network::Stream *stream, BoundingSphere3f bounds)
virtual void onMaxSizeUpdate (Sirikata::Network::Stream *stream, float32 ms)
virtual void onQueryUpdate (Sirikata::Network::Stream *stream, const String &update)
virtual void onDisconnected (Sirikata::Network::Stream *stream)
virtual void queryHasEvents (Query *query)
virtual void aggregateBoundsUpdated (ProxAggregator *handler, const ServerID &objid, const Vector3f &bnds_center, const float32 bnds_center_radius, const float32 max_obj_size)
void sendLocUpdate (ServerID about)
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)
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)
virtual void commandStats (const Command::Command &cmd, Command::Commander *cmdr, Command::CommandID cmdid)
void tick ()

Private Attributes

ClientDataMap mClients
ClientsByQuery mClientsByQuery
ServerSubscriberMap mServerSubscribers
ProxIndexIDSet mProxIndices
ProxQueryHandlermQueryHandler
Time mLastTime
Duration mDt

Detailed Description

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.


Member Typedef Documentation

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 std::tr1::unordered_set<ServerID> Sirikata::ManualPintoManager::ServerSet [private]
typedef std::tr1::unordered_map<ServerID, ClientStreamSet> Sirikata::ManualPintoManager::ServerSubscriberMap [private]

Constructor & Destructor Documentation

Sirikata::ManualPintoManager::ManualPintoManager ( PintoContext ctx)
Sirikata::ManualPintoManager::~ManualPintoManager ( ) [virtual]

References mQueryHandler.


Member Function Documentation

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]
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]
void Sirikata::ManualPintoManager::commandStats ( const Command::Command cmd,
Command::Commander cmdr,
Command::CommandID  cmdid 
) [private, virtual]
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]
void Sirikata::ManualPintoManager::onInitialMessage ( Sirikata::Network::Stream stream) [private, virtual]
void Sirikata::ManualPintoManager::onMaxSizeUpdate ( Sirikata::Network::Stream stream,
float32  ms 
) [private, virtual]
void Sirikata::ManualPintoManager::onQueryUpdate ( Sirikata::Network::Stream stream,
const String &  update 
) [private, virtual]
void Sirikata::ManualPintoManager::onRegionUpdate ( Sirikata::Network::Stream stream,
BoundingSphere3f  bounds 
) [private, virtual]
void Sirikata::ManualPintoManager::queryHasEvents ( Query query) [private, virtual]
void Sirikata::ManualPintoManager::sendLocUpdate ( ServerID  about) [private]
void Sirikata::ManualPintoManager::tick ( ) [private]

Member Data Documentation

Referenced by tick().

Referenced by tick().

Referenced by queryHasEvents(), and sendLocUpdate().


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