IceGrid::RegistryReplicaAdminRouter::RegistryReplicaAdminRouter(const string& name, const DatabasePtr& database) : AdminRouter(database->getTraceLevels()), _name(name), _database(database) { }
BaseSessionI::BaseSessionI(const string& id, const string& prefix, const DatabasePtr& database) : _id(id), _prefix(prefix), _traceLevels(database->getTraceLevels()), _database(database), _destroyed(false), _timestamp(IceUtil::Time::now(IceUtil::Time::Monotonic)) { if(_traceLevels && _traceLevels->session > 0) { Ice::Trace out(_traceLevels->logger, _traceLevels->sessionCat); out << _prefix << " session `" << _id << "' created"; } }
NodeSessionI::NodeSessionI(const DatabasePtr& database, const NodePrx& node, const InternalNodeInfoPtr& info, int timeout, const LoadInfo& load) : _database(database), _traceLevels(database->getTraceLevels()), _node(node), _info(info), _timeout(timeout), _timestamp(IceUtil::Time::now(IceUtil::Time::Monotonic)), _load(load), _destroy(false) { __setNoDelete(true); try { _database->getNode(info->name, true)->setSession(this); ObjectInfo objInfo; objInfo.type = Node::ice_staticId(); objInfo.proxy = _node; _database->addInternalObject(objInfo, true); // Add or update previous node proxy. _proxy = NodeSessionPrx::uncheckedCast(_database->getInternalAdapter()->addWithUUID(this)); } catch(const NodeActiveException&) { __setNoDelete(false); throw; } catch(...) { try { _database->removeInternalObject(_node->ice_getIdentity()); } catch(const ObjectNotRegisteredException&) { } _database->getNode(info->name)->setSession(0); __setNoDelete(false); throw; } __setNoDelete(false); }
ReplicaSessionI::ReplicaSessionI(const DatabasePtr& database, const WellKnownObjectsManagerPtr& wellKnownObjects, const InternalReplicaInfoPtr& info, const InternalRegistryPrx& proxy, int timeout) : _database(database), _wellKnownObjects(wellKnownObjects), _traceLevels(database->getTraceLevels()), _internalRegistry(proxy), _info(info), _timeout(timeout), _timestamp(IceUtil::Time::now(IceUtil::Time::Monotonic)), _destroy(false) { __setNoDelete(true); try { _database->getReplicaCache().add(info->name, this); ObserverTopicPtr obsv = _database->getObserverTopic(RegistryObserverTopicName); RegistryObserverTopicPtr::dynamicCast(obsv)->registryUp(toRegistryInfo(_info)); _proxy = ReplicaSessionPrx::uncheckedCast(_database->getInternalAdapter()->addWithUUID(this)); } catch(const ReplicaActiveException&) { __setNoDelete(false); throw; } catch(...) { ObserverTopicPtr obsv = _database->getObserverTopic(RegistryObserverTopicName); RegistryObserverTopicPtr::dynamicCast(obsv)->registryDown(_info->name); _database->getReplicaCache().remove(_info->name, false); __setNoDelete(false); throw; } __setNoDelete(false); }
IceGrid::RegistryServerAdminRouter::RegistryServerAdminRouter(const DatabasePtr& database) : AdminRouter(database->getTraceLevels()), _database(database) { }
IceGrid::RegistryNodeAdminRouter::RegistryNodeAdminRouter(const string& collocNodeName, const DatabasePtr& database) : AdminRouter(database->getTraceLevels()), _collocNodeName(collocNodeName), _database(database) { }