diff options
Diffstat (limited to 'cppe/src/IceE/RoutingTable.cpp')
-rw-r--r-- | cppe/src/IceE/RoutingTable.cpp | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/cppe/src/IceE/RoutingTable.cpp b/cppe/src/IceE/RoutingTable.cpp deleted file mode 100644 index 651d8e412a2..00000000000 --- a/cppe/src/IceE/RoutingTable.cpp +++ /dev/null @@ -1,115 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved. -// -// This copy of Ice-E is licensed to you under the terms described in the -// ICEE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#include <IceE/Config.h> - -#ifdef ICEE_HAS_ROUTER - -#include <IceE/RoutingTable.h> -#include <IceE/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(); - - 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; - } -} - -ObjectPrx -IceInternal::RoutingTable::get(const Identity& ident) -{ - if(ident.name.empty()) - { - return 0; - } - - IceUtil::Mutex::Lock sync(*this); - - map<Identity, ObjectPrx>::iterator p = _table.end(); - - if(_tableHint != _table.end()) - { - if(_tableHint->first == ident) - { - p = _tableHint; - } - } - - if(p == _table.end()) - { - p = _table.find(ident); - } - - if(p == _table.end()) - { - return 0; - } - else - { - _tableHint = p; - return p->second; - } -} - -#endif |