diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-09-12 09:01:35 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-09-12 09:01:35 +0000 |
commit | d89514da858be06f7e44129bcd6675a46181208e (patch) | |
tree | 662073ca1e8a9b6e56e9914087da66a824b88d6c /cpp/src/IceGrid/NodeSessionI.cpp | |
parent | Minor Makefile tweak. (diff) | |
download | ice-d89514da858be06f7e44129bcd6675a46181208e.tar.bz2 ice-d89514da858be06f7e44129bcd6675a46181208e.tar.xz ice-d89514da858be06f7e44129bcd6675a46181208e.zip |
Fixes
Diffstat (limited to 'cpp/src/IceGrid/NodeSessionI.cpp')
-rw-r--r-- | cpp/src/IceGrid/NodeSessionI.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/NodeSessionI.cpp b/cpp/src/IceGrid/NodeSessionI.cpp index 2b19cfc59b1..35ca723dfa3 100644 --- a/cpp/src/IceGrid/NodeSessionI.cpp +++ b/cpp/src/IceGrid/NodeSessionI.cpp @@ -81,6 +81,19 @@ NodeSessionI::getObserver(const Ice::Current& current) const } } +void +NodeSessionI::loadServers(const Ice::Current& current) const +{ + // + // Get the server proxies to load them on the node. + // + Ice::StringSeq servers = _database->getAllNodeServers(_name); + for(Ice::StringSeq::const_iterator p = servers.begin(); p != servers.end(); ++p) + { + _database->getServer(*p); + } +} + Ice::StringSeq NodeSessionI::getServers(const Ice::Current& current) const { @@ -88,8 +101,20 @@ NodeSessionI::getServers(const Ice::Current& current) const } void +NodeSessionI::waitForApplicationReplication(const std::string& application, int revision, const Ice::Current&) const +{ + _database->waitForApplicationReplication(application, revision); +} + +void NodeSessionI::destroy(const Ice::Current& current) { + // + // TODO: XXX: If we set destroy to true now, it's possible that + // the node calls keepAlive on the sesion and tries to create the + // session after getting the ONE and before the node is removed + // from the db... + // { Lock sync(*this); if(_destroy) |