summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeSessionI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-09-12 09:01:35 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-09-12 09:01:35 +0000
commitd89514da858be06f7e44129bcd6675a46181208e (patch)
tree662073ca1e8a9b6e56e9914087da66a824b88d6c /cpp/src/IceGrid/NodeSessionI.cpp
parentMinor Makefile tweak. (diff)
downloadice-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.cpp25
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)