summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-09-13 08:20:38 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-09-13 08:20:38 +0000
commit7f24d81b685383e7cc09e32ad89c830d86372ca0 (patch)
tree8ccefbe74117f62bd42dd8794cc15e3f9674cb36 /cpp/src/IceGrid/Database.cpp
parentRemoved bogus abort(); // XXX (diff)
downloadice-7f24d81b685383e7cc09e32ad89c830d86372ca0.tar.bz2
ice-7f24d81b685383e7cc09e32ad89c830d86372ca0.tar.xz
ice-7f24d81b685383e7cc09e32ad89c830d86372ca0.zip
Added support for load factor
Added warning for unknown XML attributes
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 74d6e8be9d7..6c0d2f91388 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -938,6 +938,12 @@ Database::checkObjectForAddition(const Ice::Identity& objectId)
void
Database::load(const ApplicationHelper& app, ServerEntrySeq& entries)
{
+ const NodeDescriptorDict& nodes = app.getDescriptor().nodes;
+ for(NodeDescriptorDict::const_iterator n = nodes.begin(); n != nodes.end(); ++n)
+ {
+ _nodeCache.get(n->first, true)->addDescriptor(app.getDescriptor().name, n->second);
+ }
+
const ReplicatedAdapterDescriptorSeq& adpts = app.getDescriptor().replicatedAdapters;
for(ReplicatedAdapterDescriptorSeq::const_iterator r = adpts.begin(); r != adpts.end(); ++r)
{
@@ -959,6 +965,12 @@ Database::load(const ApplicationHelper& app, ServerEntrySeq& entries)
void
Database::unload(const ApplicationHelper& app, ServerEntrySeq& entries)
{
+ const NodeDescriptorDict& nodes = app.getDescriptor().nodes;
+ for(NodeDescriptorDict::const_iterator n = nodes.begin(); n != nodes.end(); ++n)
+ {
+ _nodeCache.get(n->first)->removeDescriptor(app.getDescriptor().name);
+ }
+
const ReplicatedAdapterDescriptorSeq& adpts = app.getDescriptor().replicatedAdapters;
for(ReplicatedAdapterDescriptorSeq::const_iterator r = adpts.begin(); r != adpts.end(); ++r)
{
@@ -979,6 +991,18 @@ Database::unload(const ApplicationHelper& app, ServerEntrySeq& entries)
void
Database::reload(const ApplicationHelper& oldApp, const ApplicationHelper& newApp, ServerEntrySeq& entries)
{
+ const NodeDescriptorDict& oldNodes = oldApp.getDescriptor().nodes;
+ NodeDescriptorDict::const_iterator n;
+ for(n = oldNodes.begin(); n != oldNodes.end(); ++n)
+ {
+ _nodeCache.get(n->first)->removeDescriptor(oldApp.getDescriptor().name);
+ }
+ const NodeDescriptorDict& newNodes = newApp.getDescriptor().nodes;
+ for(n = newNodes.begin(); n != newNodes.end(); ++n)
+ {
+ _nodeCache.get(n->first, true)->addDescriptor(newApp.getDescriptor().name, n->second);
+ }
+
//
// Unload/load replicated adapters.
//