diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-09-14 18:50:17 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-09-14 18:50:17 +0000 |
commit | a7da4de2000e9738ed895e534e782e82125ac2c0 (patch) | |
tree | 367b47c719e4860fb096ec5fc51aee0ae3034cb9 /cpp/src/IceGrid/ReplicaSessionManager.cpp | |
parent | Fix (diff) | |
download | ice-a7da4de2000e9738ed895e534e782e82125ac2c0.tar.bz2 ice-a7da4de2000e9738ed895e534e782e82125ac2c0.tar.xz ice-a7da4de2000e9738ed895e534e782e82125ac2c0.zip |
Fixed TODOs
Diffstat (limited to 'cpp/src/IceGrid/ReplicaSessionManager.cpp')
-rw-r--r-- | cpp/src/IceGrid/ReplicaSessionManager.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/ReplicaSessionManager.cpp b/cpp/src/IceGrid/ReplicaSessionManager.cpp index 60fde710b13..6feb9f41403 100644 --- a/cpp/src/IceGrid/ReplicaSessionManager.cpp +++ b/cpp/src/IceGrid/ReplicaSessionManager.cpp @@ -143,7 +143,13 @@ public: string failure; try { - _database->addObject(info, true); + const Ice::Identity& id = info.proxy->ice_getIdentity(); + if(id.category != _database->getInstanceName() || id.name.find("Node-") != 0) + { + // Don't replicate node well-known objects. These objects are + // maintained by each replica with each node session. + _database->addObject(info, true); + } } catch(const ObjectExistsException& ex) { @@ -161,7 +167,13 @@ public: string failure; try { - _database->addObject(info, true); + const Ice::Identity& id = info.proxy->ice_getIdentity(); + if(id.category != _database->getInstanceName() || id.name.find("Node-") != 0) + { + // Don't replicate node well-known objects. These objects are + // maintained by each replica with each node session. + _database->addObject(info, true); + } } catch(const DeploymentException& ex) { @@ -178,7 +190,12 @@ public: string failure; try { - _database->removeObject(id); + if(id.category != _database->getInstanceName() || id.name.find("Node-") != 0) + { + // Don't replicate node well-known objects. These objects are + // maintained by each replica with each node session. + _database->removeObject(id); + } } catch(const DeploymentException& ex) { |