diff options
author | Marc Laukien <marc@zeroc.com> | 2006-03-18 01:21:07 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2006-03-18 01:21:07 +0000 |
commit | b222eb122a4ac5620a7f97c6a0b3e52c89854793 (patch) | |
tree | 9d5e02ea1b0f571cef10f035649d3885227e0ce3 /cpp/src/Ice/RoutingTable.cpp | |
parent | fix for destroySession (diff) | |
download | ice-b222eb122a4ac5620a7f97c6a0b3e52c89854793.tar.bz2 ice-b222eb122a4ac5620a7f97c6a0b3e52c89854793.tar.xz ice-b222eb122a4ac5620a7f97c6a0b3e52c89854793.zip |
more router stuff
Diffstat (limited to 'cpp/src/Ice/RoutingTable.cpp')
-rw-r--r-- | cpp/src/Ice/RoutingTable.cpp | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/cpp/src/Ice/RoutingTable.cpp b/cpp/src/Ice/RoutingTable.cpp deleted file mode 100644 index 512a9d72a34..00000000000 --- a/cpp/src/Ice/RoutingTable.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#include <Ice/RoutingTable.h> -#include <Ice/Proxy.h> - -using namespace std; -using namespace Ice; -using namespace IceInternal; - -void IceInternal::incRef(RoutingTable* p) { p->__incRef(); } -void IceInternal::decRef(RoutingTable* p) { p->__decRef(); } - -IceInternal::RoutingTable::RoutingTable() : - _tableHint(_table.end()) -{ -} - -void -IceInternal::RoutingTable::clear() -{ - IceUtil::Mutex::Lock sync(*this); - - _table.clear(); - _tableHint = _table.end(); -} - -bool -IceInternal::RoutingTable::add(const ObjectPrx& prx) -{ - if(!prx) - { - return false; - } - - // - // We insert the proxy in its default form into the routing table. - // - ObjectPrx proxy = prx->ice_twoway()->ice_secure(false); - - IceUtil::Mutex::Lock sync(*this); - - map<Identity, ObjectPrx>::iterator p = _table.end(); - - if(_tableHint != _table.end()) - { - if(_tableHint->first == proxy->ice_getIdentity()) - { - p = _tableHint; - } - } - - if(p == _table.end()) - { - p = _table.find(proxy->ice_getIdentity()); - } - - if(p == _table.end()) - { - _tableHint = _table.insert(_tableHint, pair<const Identity, ObjectPrx>(proxy->ice_getIdentity(), proxy)); - return true; - } - else - { - return false; - } -} |