Sirikata
|
SessionManager provides most of the session management functionality for object hosts. More...
#include <SessionManager.hpp>
SessionManager provides most of the session management functionality for object hosts.
It uses internal object host IDs (UUIDs) to track objects requests and open sessions, and also handles migrating connections between space servers.
SessionManager is also an OHDP::Service, allowing communication with individual space servers (e.g. used internally for time sync). It is also exposed so other services can communicate directly with space servers.
typedef std::tr1::function<void(const SpaceID&, const ObjectReference&, const ConnectionInfo&)> Sirikata::SessionManager::ConnectedCallback |
typedef std::tr1::function<void(const SpaceObjectReference&, Disconnect::Code)> Sirikata::SessionManager::DisconnectedCallback |
typedef std::tr1::function<void(const SpaceID&, const ObjectReference&, ServerID, const ConnectingInfo& ci)> Sirikata::SessionManager::InternalConnectedCallback [private] |
typedef std::tr1::function<void(const SpaceID&, const ObjectReference&, ServerID)> Sirikata::SessionManager::MigratedCallback |
typedef std::tr1::function<void(const SpaceObjectReference&,ServerID)> Sirikata::SessionManager::ObjectConnectedCallback |
typedef std::tr1::function<void(const SpaceObjectReference&, Disconnect::Code)> Sirikata::SessionManager::ObjectDisconnectedCallback |
typedef std::tr1::function<void(const Sirikata::Protocol::Object::ObjectMessage&)> Sirikata::SessionManager::ObjectMessageCallback |
typedef std::tr1::function<void(const SpaceObjectReference&, Sirikata::Protocol::Object::ObjectMessage*) Sirikata::SessionManager::ObjectMessageHandlerCallback) |
typedef std::tr1::function<void(const SpaceObjectReference&,ServerID,ServerID)> Sirikata::SessionManager::ObjectMigratedCallback |
typedef std::tr1::unordered_map<ServerID, SpaceNodeConnection*> Sirikata::SessionManager::ServerConnectionMap [private] |
typedef std::tr1::function<void(const SpaceObjectReference&, ConnectionEvent after)> Sirikata::SessionManager::StreamCreatedCallback |
Sirikata::SessionManager::SessionManager | ( | ObjectHostContext * | ctx, |
const SpaceID & | space, | ||
ServerIDMap * | sidmap, | ||
ObjectConnectedCallback | conn_cb, | ||
ObjectMigratedCallback | mig_cb, | ||
ObjectMessageHandlerCallback | msg_cb, | ||
ObjectDisconnectedCallback | disconn_cb | ||
) |
References Sirikata::TimeProfiler::addStage(), Sirikata::FactoryWithOptionsImpl< T, Ftype >::getOptionParser(), Sirikata::GetOptionValue< String >(), Sirikata::Network::StreamFactory::getSingleton(), mContext, mHandleMessageProfiler, mHandleReadProfiler, mStreamOptions, and Sirikata::Context::profiler.
Sirikata::SessionManager::~SessionManager | ( | ) |
References mConnections, mHandleMessageProfiler, mHandleReadProfiler, mIOStrand, and mTimeSyncClient.
void Sirikata::SessionManager::checkConnectedAndRetry | ( | const SpaceObjectReference & | sporef_uuid, |
ServerID | connTo | ||
) | [private] |
References Sirikata::SessionManager::ObjectConnections::exists(), Sirikata::SessionManager::ObjectConnections::getConnectingToServer(), getSpaceConnection(), mObjectConnections, openConnectionStartSession(), and Sirikata::SessionManager::ObjectConnections::validSeqno().
Referenced by openConnectionStartSession().
Duration Sirikata::SessionManager::clientTimeOffset | ( | ) | const |
Get offset of client time from server time for the given space.
Should only be called by objects with an active connection to that space. This is just a utility, is always -serverTimeOffset().
References mTimeSyncClient, Sirikata::TimeSyncClient::offset(), and Sirikata::TimeSyncClient::valid().
bool Sirikata::SessionManager::connect | ( | const SpaceObjectReference & | sporef_objid, |
const TimedMotionVector3f & | init_loc, | ||
const TimedMotionQuaternion & | init_orient, | ||
const BoundingSphere3f & | init_bounds, | ||
const String & | init_mesh, | ||
const String & | init_phy, | ||
const String & | init_query, | ||
const String & | init_zernike, | ||
ConnectedCallback | connect_cb, | ||
MigratedCallback | migrate_cb, | ||
StreamCreatedCallback | stream_cb, | ||
DisconnectedCallback | disconnected_cb | ||
) |
Connect the object to the space with the given starting parameters.
References Sirikata::SessionManager::ObjectConnections::add(), Sirikata::SessionManager::ConnectingInfo::bounds, Sirikata::Logging::detailed, Sirikata::SessionManager::ObjectConnections::exists(), getAnySpaceConnection(), handleObjectFullyConnected(), handleObjectFullyMigrated(), Sirikata::SessionManager::ConnectingInfo::loc, Sirikata::SessionManager::ConnectingInfo::mesh, mObjectConnections, mSerialization, openConnectionStartSession(), Sirikata::SessionManager::ConnectingInfo::orient, Sirikata::SessionManager::ConnectingInfo::physics, Sirikata::SessionManager::ConnectingInfo::query, SESSION_LOG, and Sirikata::SessionManager::ConnectingInfo::zernike.
Referenced by Sirikata::ObjectHost::connect().
OHDP::DelegatePort * Sirikata::SessionManager::createDelegateOHDPPort | ( | OHDP::DelegateService * | , |
const OHDP::Endpoint & | ept | ||
) | [private] |
Time Sync related utilities.
References delegateOHDPPortSend().
bool Sirikata::SessionManager::delegateOHDPPortSend | ( | const OHDP::Endpoint & | source_ep, |
const OHDP::Endpoint & | dest_ep, | ||
MemoryReference | payload | ||
) | [private] |
void Sirikata::SessionManager::disconnect | ( | const SpaceObjectReference & | id | ) |
Disconnect the object from the space.
References Sirikata::SessionManager::ObjectConnections::getConnectedServer(), Sirikata::SessionManager::ObjectConnections::getSeqno(), Sirikata::SessionManager::ObjectConnections::gracefulDisconnect(), mObjectConnections, mSerialization, and sendDisconnectMessage().
void Sirikata::SessionManager::finishSetupSpaceConnection | ( | ServerID | server, |
ServerID | resolved_server, | ||
Address4 | addr | ||
) | [private] |
References Sirikata::convertAddress4ToSirikata(), Sirikata::Logging::detailed, Sirikata::Logging::error, mConnectingConnections, mConnections, mSerialization, Sirikata::Address4::Null, SESSION_LOG, and Sirikata::Network::Address::toString().
Referenced by setupRandomSpaceConnection(), and setupSpaceConnection().
void Sirikata::SessionManager::getAnySpaceConnection | ( | SpaceNodeConnection::GotSpaceConnectionCallback | cb | ) | [private] |
SpaceNodeConnection initiation.
References Sirikata::SpaceNodeConnection::addCallback(), Sirikata::SpaceNodeConnection::connecting(), Sirikata::ServerIDMap::lookupRandomExternal(), Sirikata::Context::mainStrand, mConnections, mContext, mSerialization, mServerIDMap, mShuttingDown, setupRandomSpaceConnection(), and Sirikata::Network::IOStrand::wrap().
Referenced by connect().
bool Sirikata::SessionManager::getExistingSpaceConnection | ( | ServerID | sid, |
SpaceNodeConnection::GotSpaceConnectionCallback | cb | ||
) | [private] |
References mConnectingConnections, mConnections, mSerialization, and mShuttingDown.
Referenced by getSpaceConnection(), and setupRandomSpaceConnection().
void Sirikata::SessionManager::getSpaceConnection | ( | ServerID | sid, |
SpaceNodeConnection::GotSpaceConnectionCallback | cb | ||
) | [private] |
SessionManager::SSTStreamPtr Sirikata::SessionManager::getSpaceStream | ( | const ObjectReference & | objectID | ) |
References mObjectToSpaceStreams.
void Sirikata::SessionManager::handleObjectFullyConnected | ( | const SpaceID & | space, |
const ObjectReference & | obj, | ||
ServerID | server, | ||
const ConnectingInfo & | ci, | ||
ConnectedCallback | real_cb | ||
) | [private] |
References Sirikata::SessionManager::ConnectingInfo::bounds, Sirikata::SessionManager::ConnectionInfo::bounds, Connected, Sirikata::SST::ConnectionManager< EndPointType >::connectStream(), Sirikata::SessionManager::ConnectingInfo::loc, Sirikata::SessionManager::ConnectionInfo::loc, mContext, Sirikata::SessionManager::ConnectingInfo::mesh, Sirikata::SessionManager::ConnectionInfo::mesh, OBJECT_SPACE_PORT, Sirikata::SessionManager::ConnectingInfo::orient, Sirikata::SessionManager::ConnectionInfo::orient, Sirikata::SessionManager::ConnectingInfo::physics, Sirikata::SessionManager::ConnectionInfo::physics, Sirikata::SessionManager::ConnectingInfo::query, Sirikata::SessionManager::ConnectionInfo::query, Sirikata::SessionManager::ConnectionInfo::server, spaceConnectCallback(), Sirikata::ObjectReference::spaceServiceID(), and Sirikata::ObjectHostContext::sstConnMgr().
Referenced by connect().
void Sirikata::SessionManager::handleObjectFullyMigrated | ( | const SpaceID & | space, |
const ObjectReference & | obj, | ||
ServerID | server, | ||
MigratedCallback | real_cb | ||
) | [private] |
void Sirikata::SessionManager::handleServerMessage | ( | ObjectMessage * | msg, |
ServerID | sid | ||
) | [private] |
References Sirikata::OHDP::DelegateService::deliver(), Sirikata::Trace::DESTROYED, handleSessionMessage(), mObjectMessageHandlerCallback, mSpace, Sirikata::UUID::null(), OBJECT_PORT_SESSION, Sirikata::Trace::OH_RECEIVED, Sirikata::OHDP::NodeID::self(), TIMESTAMP_END, and TIMESTAMP_START.
Referenced by handleServerMessages().
void Sirikata::SessionManager::handleServerMessages | ( | Liveness::Token | alive, |
SpaceNodeConnection * | conn | ||
) | [private] |
References Sirikata::SpaceNodeConnection::empty(), Sirikata::TimeProfiler::Stage::finished(), handleServerMessage(), MAX_HANDLE_SERVER_MESSAGES, mContext, mHandleMessageProfiler, Sirikata::SpaceNodeConnection::pull(), scheduleHandleServerMessages(), Sirikata::SpaceNodeConnection::server(), Sirikata::Context::simTime(), and Sirikata::TimeProfiler::Stage::started().
Referenced by scheduleHandleServerMessages().
void Sirikata::SessionManager::handleSessionMessage | ( | Sirikata::Protocol::Object::ObjectMessage * | msg, |
ServerID | from_server | ||
) | [private] |
References Sirikata::Logging::error, handleSessionMessageConnectResponseError(), handleSessionMessageConnectResponseRedirect(), handleSessionMessageConnectResponseSuccess(), handleSessionMessageInitMigration(), LOG_INVALID_MESSAGE, mSerialization, mSpace, and SESSION_LOG.
Referenced by handleServerMessage().
void Sirikata::SessionManager::handleSessionMessageConnectResponseError | ( | ServerID | from_server, |
const SpaceObjectReference & | sporef_obj, | ||
Sirikata::Protocol::Session::Container & | session_msg | ||
) | [private] |
References Sirikata::Logging::detailed, Sirikata::Logging::error, Sirikata::SessionManager::ObjectConnections::exists(), Sirikata::SessionManager::ObjectConnections::getConnectingToServer(), Sirikata::SessionManager::ObjectConnections::getMigratingToServer(), Sirikata::SessionManager::ObjectConnections::getSeqno(), Sirikata::SessionManager::ObjectConnections::handleConnectError(), mObjectConnections, and SESSION_LOG.
Referenced by handleSessionMessage().
void Sirikata::SessionManager::handleSessionMessageConnectResponseRedirect | ( | ServerID | from_server, |
const SpaceObjectReference & | sporef_obj, | ||
Sirikata::Protocol::Session::Container & | session_msg | ||
) | [private] |
References Sirikata::SessionManager::ObjectConnections::clearSeqno(), Sirikata::Logging::detailed, Sirikata::SessionManager::ObjectConnections::exists(), Sirikata::SessionManager::ObjectConnections::getConnectingToServer(), Sirikata::SessionManager::ObjectConnections::getSeqno(), getSpaceConnection(), mObjectConnections, openConnectionStartSession(), SESSION_LOG, and Sirikata::SessionManager::ObjectConnections::validSeqno().
Referenced by handleSessionMessage().
void Sirikata::SessionManager::handleSessionMessageConnectResponseSuccess | ( | ServerID | from_server, |
const SpaceObjectReference & | sporef_obj, | ||
Sirikata::Protocol::Session::Container & | session_msg | ||
) | [private] |
References Sirikata::Logging::detailed, Sirikata::SessionManager::ObjectConnections::exists(), Sirikata::SessionManager::ObjectConnections::getConnectedServer(), Sirikata::SessionManager::ObjectConnections::getConnectingToServer(), Sirikata::SessionManager::ObjectConnections::getMigratingToServer(), Sirikata::SessionManager::ObjectConnections::getSeqno(), Sirikata::SessionManager::ObjectConnections::handleConnectSuccess(), mObjectConnections, mTimeSyncClient, sendConnectSuccessAck(), sendDisconnectMessage(), SESSION_LOG, and Sirikata::TimeSyncClient::valid().
Referenced by handleSessionMessage().
void Sirikata::SessionManager::handleSessionMessageInitMigration | ( | ServerID | from_server, |
const SpaceObjectReference & | sporef_obj, | ||
Sirikata::Protocol::Session::Container & | session_msg | ||
) | [private] |
References Sirikata::Logging::detailed, Sirikata::SessionManager::ObjectConnections::exists(), Sirikata::SessionManager::ObjectConnections::getConnectedServer(), Sirikata::SessionManager::ObjectConnections::getSeqno(), Sirikata::Logging::insane, migrate(), mObjectConnections, and SESSION_LOG.
Referenced by handleSessionMessage().
void Sirikata::SessionManager::handleSpaceConnection | ( | const Sirikata::Network::Stream::ConnectionStatus | status, |
const std::string & | reason, | ||
ServerID | sid | ||
) | [private] |
References Sirikata::Context::add(), Sirikata::TimeSyncClient::addNode(), Sirikata::Network::Stream::Connected, Sirikata::Network::Stream::ConnectionFailed, Sirikata::Logging::detailed, Sirikata::Network::Stream::Disconnected, Sirikata::Logging::error, Sirikata::SessionManager::ObjectConnections::handleUnderlyingDisconnect(), mConnections, mContext, mObjectConnections, mSerialization, mSpace, mTimeSyncClient, Sirikata::Context::remove(), Sirikata::TimeSyncClient::removeNode(), SESSION_LOG, Sirikata::PollingService::stop(), and timeSyncUpdated().
Referenced by registerSpaceNodeConnection().
void Sirikata::SessionManager::handleSpaceSession | ( | ServerID | sid, |
SpaceNodeConnection * | conn | ||
) | [private] |
References Sirikata::SpaceNodeSessionManager::fireSpaceNodeSession(), mSpace, and Sirikata::SpaceNodeConnection::stream().
Referenced by registerSpaceNodeConnection().
void Sirikata::SessionManager::migrate | ( | const SpaceObjectReference & | sporef_obj_id, |
ServerID | sid | ||
) | [private] |
Object session migration.
References Sirikata::Logging::detailed, getSpaceConnection(), mObjectConnections, mObjectToSpaceStreams, mSerialization, Sirikata::SpaceObjectReference::object(), openConnectionStartMigration(), SESSION_LOG, and Sirikata::SessionManager::ObjectConnections::startMigration().
Referenced by handleSessionMessageInitMigration().
void Sirikata::SessionManager::openConnectionStartMigration | ( | const SpaceObjectReference & | sporef_uuid, |
ServerID | sid, | ||
SpaceNodeConnection * | conn | ||
) | [private] |
References Sirikata::ObjectReference::getAsUUID(), getSpaceConnection(), Sirikata::Context::mainStrand, mContext, mObjectConnections, mSerialization, Sirikata::UUID::null(), Sirikata::SpaceObjectReference::object(), OBJECT_PORT_SESSION, Sirikata::Network::IOStrand::post(), send(), Sirikata::serializePBJMessage(), SESSION_LOG, Sirikata::SessionManager::ObjectConnections::updateSeqno(), and Sirikata::Logging::warn.
Referenced by migrate().
void Sirikata::SessionManager::openConnectionStartSession | ( | const SpaceObjectReference & | sporef_uuid, |
SpaceNodeConnection * | conn, | ||
bool | is_retry | ||
) | [private] |
Object session initiation.
References Sirikata::SessionManager::ConnectingInfo::bounds, checkConnectedAndRetry(), Sirikata::SessionManager::ObjectConnections::connectingTo(), Sirikata::Logging::detailed, Sirikata::ObjectReference::getAsUUID(), Sirikata::SessionManager::ObjectConnections::getConnectCallback(), Sirikata::SessionManager::ObjectConnections::getSeqno(), Sirikata::SessionManager::ConnectingInfo::loc, Sirikata::Context::mainStrand, mContext, Sirikata::SessionManager::ConnectingInfo::mesh, mObjectConnections, mSerialization, mSpace, Sirikata::UUID::null(), Sirikata::ObjectReference::null(), Sirikata::SpaceObjectReference::object(), OBJECT_PORT_SESSION, Sirikata::SessionManager::ConnectingInfo::orient, Sirikata::SessionManager::ConnectingInfo::physics, Sirikata::TimedMotionQuaternion::position(), Sirikata::TimedMotionVector< MotionVectorType >::position(), Sirikata::Network::IOStrand::post(), Sirikata::SessionManager::ConnectingInfo::query, retryOpenConnection(), send(), Sirikata::serializePBJMessage(), Sirikata::SpaceNodeConnection::server(), SESSION_LOG, Sirikata::SessionManager::ObjectConnections::updateSeqno(), Sirikata::TimedMotionQuaternion::updateTime(), Sirikata::TimedMotionVector< MotionVectorType >::updateTime(), Sirikata::TimedMotionQuaternion::velocity(), Sirikata::TimedMotionVector< MotionVectorType >::velocity(), Sirikata::Logging::warn, and Sirikata::SessionManager::ConnectingInfo::zernike.
Referenced by checkConnectedAndRetry(), connect(), handleSessionMessageConnectResponseRedirect(), and retryOpenConnection().
void Sirikata::SessionManager::poll | ( | ) | [virtual] |
Override this method to specify the work to be done when polling.
Implements Sirikata::PollingService.
References mContext, Sirikata::Trace::TimeSeries::report(), and Sirikata::Context::timeSeries.
void Sirikata::SessionManager::registerSpaceNodeConnection | ( | ServerID | server, |
SpaceNodeConnection::GotSpaceConnectionCallback | cb | ||
) | [private] |
References Sirikata::SpaceNodeConnection::addCallback(), handleSpaceConnection(), handleSpaceSession(), Sirikata::Context::mainStrand, mConnectingConnections, mContext, mHandleReadProfiler, mIOStrand, mSerialization, mSpace, mStreamOptions, scheduleHandleServerMessages(), and Sirikata::Network::IOStrand::wrap().
Referenced by setupRandomSpaceConnection(), and setupSpaceConnection().
void Sirikata::SessionManager::retryOpenConnection | ( | const SpaceObjectReference & | sporef_uuid, |
ServerID | sid | ||
) | [private] |
References getSpaceConnection(), and openConnectionStartSession().
Referenced by openConnectionStartSession().
void Sirikata::SessionManager::scheduleHandleServerMessages | ( | SpaceNodeConnection * | conn | ) | [private] |
References handleServerMessages(), Sirikata::Liveness::livenessToken(), Sirikata::Context::mainStrand, mContext, and Sirikata::Network::IOStrand::post().
Referenced by handleServerMessages(), and registerSpaceNodeConnection().
bool Sirikata::SessionManager::send | ( | const SpaceObjectReference & | sporef_objid, |
const ObjectMessagePort | src_port, | ||
const UUID & | dest, | ||
const ObjectMessagePort | dest_port, | ||
const std::string & | payload, | ||
ServerID | dest_server = NullServerID |
||
) |
References Sirikata::Trace::CREATED, Sirikata::createObjectHostMessage(), Sirikata::Logging::error, Sirikata::SessionManager::ObjectConnections::getConnectedServer(), Sirikata::ObjectHostContext::id, mConnections, mContext, mObjectConnections, mSerialization, mShuttingDown, Sirikata::SpaceNodeConnection::push(), SESSION_LOG, Sirikata::Context::simTime(), TIMESTAMP_CREATED, and Sirikata::Logging::warn.
Referenced by delegateOHDPPortSend(), openConnectionStartMigration(), openConnectionStartSession(), and sendRetryingMessage().
void Sirikata::SessionManager::sendConnectSuccessAck | ( | const SpaceObjectReference & | sporef, |
ServerID | connected_to | ||
) | [private] |
void Sirikata::SessionManager::sendDisconnectMessage | ( | const SpaceObjectReference & | sporef, |
ServerID | connected_to, | ||
uint64 | session_seqno | ||
) | [private] |
References Sirikata::ObjectReference::getAsUUID(), Sirikata::Context::mainStrand, mContext, Sirikata::UUID::null(), Sirikata::SpaceObjectReference::object(), OBJECT_PORT_SESSION, sendRetryingMessage(), and Sirikata::serializePBJMessage().
Referenced by disconnect(), and handleSessionMessageConnectResponseSuccess().
void Sirikata::SessionManager::sendRetryingMessage | ( | const SpaceObjectReference & | sporef_src, |
const ObjectMessagePort | src_port, | ||
const UUID & | dest, | ||
const ObjectMessagePort | dest_port, | ||
const std::string & | payload, | ||
ServerID | dest_server, | ||
Network::IOStrand * | strand, | ||
const Duration & | rate | ||
) | [private] |
References Sirikata::Network::IOStrand::post(), and send().
Referenced by sendConnectSuccessAck(), and sendDisconnectMessage().
Duration Sirikata::SessionManager::serverTimeOffset | ( | ) | const |
Get offset of server time from client time for the given space.
Should only be called by objects with an active connection to that space.
References mTimeSyncClient, Sirikata::TimeSyncClient::offset(), and Sirikata::TimeSyncClient::valid().
void Sirikata::SessionManager::setupRandomSpaceConnection | ( | ServerID | resolved_server, |
Address4 | addr, | ||
SpaceNodeConnection::GotSpaceConnectionCallback | cb | ||
) | [private] |
References finishSetupSpaceConnection(), getExistingSpaceConnection(), mSerialization, and registerSpaceNodeConnection().
Referenced by getAnySpaceConnection().
void Sirikata::SessionManager::setupSpaceConnection | ( | ServerID | server, |
SpaceNodeConnection::GotSpaceConnectionCallback | cb | ||
) | [private] |
void Sirikata::SessionManager::spaceConnectCallback | ( | int | err, |
SSTStreamPtr | s, | ||
SpaceObjectReference | obj, | ||
ConnectionEvent | after | ||
) | [private] |
References Sirikata::SST::ConnectionManager< EndPointType >::connectStream(), Sirikata::Logging::detailed, Sirikata::SessionManager::ObjectConnections::handleConnectStream(), mContext, mObjectConnections, mObjectToSpaceStreams, mTimeSyncClient, Sirikata::SpaceObjectReference::object(), OBJECT_SPACE_PORT, SESSION_LOG, Sirikata::SpaceObjectReference::space(), Sirikata::ObjectReference::spaceServiceID(), SST_IMPL_SUCCESS, Sirikata::ObjectHostContext::sstConnMgr(), Sirikata::SpaceObjectReference::toString(), and Sirikata::TimeSyncClient::valid().
Referenced by handleObjectFullyConnected(), and handleObjectFullyMigrated().
void Sirikata::SessionManager::start | ( | ) | [virtual] |
Start polling this service on this strand at the given maximum rate.
Reimplemented from Sirikata::PollingService.
Referenced by Sirikata::ObjectHost::addServerIDMap().
void Sirikata::SessionManager::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.
References mConnections, mShuttingDown, and Sirikata::SpaceNodeConnection::shutdown().
Referenced by Sirikata::ObjectHost::stop().
void Sirikata::SessionManager::timeSyncUpdated | ( | ) | [private] |
friend class ObjectConnections [friend] |
Referenced by finishSetupSpaceConnection(), getExistingSpaceConnection(), and registerSpaceNodeConnection().
Referenced by getAnySpaceConnection(), handleObjectFullyConnected(), handleObjectFullyMigrated(), handleServerMessages(), handleSpaceConnection(), openConnectionStartMigration(), openConnectionStartSession(), poll(), registerSpaceNodeConnection(), scheduleHandleServerMessages(), send(), sendConnectSuccessAck(), sendDisconnectMessage(), SessionManager(), setupSpaceConnection(), and spaceConnectCallback().
Referenced by handleServerMessages(), SessionManager(), and ~SessionManager().
Referenced by registerSpaceNodeConnection(), SessionManager(), and ~SessionManager().
Referenced by registerSpaceNodeConnection(), and ~SessionManager().
Referenced by checkConnectedAndRetry(), connect(), disconnect(), handleSessionMessageConnectResponseError(), handleSessionMessageConnectResponseRedirect(), handleSessionMessageConnectResponseSuccess(), handleSessionMessageInitMigration(), handleSpaceConnection(), migrate(), openConnectionStartMigration(), openConnectionStartSession(), send(), sendConnectSuccessAck(), spaceConnectCallback(), and timeSyncUpdated().
Referenced by handleServerMessage().
std::map<ObjectReference, SSTStreamPtr> Sirikata::SessionManager::mObjectToSpaceStreams [private] |
Referenced by getSpaceStream(), migrate(), and spaceConnectCallback().
Referenced by connect(), disconnect(), finishSetupSpaceConnection(), getAnySpaceConnection(), getExistingSpaceConnection(), getSpaceConnection(), handleSessionMessage(), handleSpaceConnection(), migrate(), openConnectionStartMigration(), openConnectionStartSession(), registerSpaceNodeConnection(), send(), and setupRandomSpaceConnection().
Referenced by getAnySpaceConnection(), and setupSpaceConnection().
bool Sirikata::SessionManager::mShuttingDown [private] |
Referenced by getAnySpaceConnection(), getExistingSpaceConnection(), send(), and stop().
SpaceID Sirikata::SessionManager::mSpace [private] |
Referenced by registerSpaceNodeConnection(), and SessionManager().