diff options
Diffstat (limited to 'cppe/src')
-rw-r--r-- | cppe/src/IceE/Endpoint.h | 7 | ||||
-rw-r--r-- | cppe/src/IceE/EndpointFactory.h | 2 | ||||
-rw-r--r-- | cppe/src/IceE/ObjectAdapter.cpp | 4 | ||||
-rw-r--r-- | cppe/src/IceE/ReferenceFactory.cpp | 6 | ||||
-rw-r--r-- | cppe/src/IceE/UnknownEndpoint.cpp | 18 | ||||
-rw-r--r-- | cppe/src/IceE/UnknownEndpoint.h | 2 | ||||
-rw-r--r-- | cppe/src/TcpTransport/EndpointFactory.cpp | 4 | ||||
-rw-r--r-- | cppe/src/TcpTransport/TcpEndpoint.cpp | 42 | ||||
-rw-r--r-- | cppe/src/TcpTransport/TcpEndpoint.h | 4 |
9 files changed, 42 insertions, 47 deletions
diff --git a/cppe/src/IceE/Endpoint.h b/cppe/src/IceE/Endpoint.h index b7200e67cfb..6f8a07638e6 100644 --- a/cppe/src/IceE/Endpoint.h +++ b/cppe/src/IceE/Endpoint.h @@ -83,12 +83,9 @@ public: // // Expand endpoint out in to separate endpoints for each local - // host if endpoint was configured with no host set. This - // only applies for ObjectAdapter endpoints. + // host if endpoint was configured with no host set. // -#ifndef ICEE_PURE_CLIENT - virtual std::vector<EndpointPtr> expand() const = 0; -#endif + virtual std::vector<EndpointPtr> expand(bool) const = 0; // // Return whether the endpoint should be published in proxies diff --git a/cppe/src/IceE/EndpointFactory.h b/cppe/src/IceE/EndpointFactory.h index 850b99b815b..e816f71ea0f 100644 --- a/cppe/src/IceE/EndpointFactory.h +++ b/cppe/src/IceE/EndpointFactory.h @@ -26,7 +26,7 @@ public: ~EndpointFactory(); - EndpointPtr create(const std::string&, bool) const; + EndpointPtr create(const std::string&) const; EndpointPtr read(BasicStream*) const; void destroy(); diff --git a/cppe/src/IceE/ObjectAdapter.cpp b/cppe/src/IceE/ObjectAdapter.cpp index bc6b5c22b98..2b7ba3a8574 100644 --- a/cppe/src/IceE/ObjectAdapter.cpp +++ b/cppe/src/IceE/ObjectAdapter.cpp @@ -910,14 +910,14 @@ Ice::ObjectAdapter::parseEndpoints(const string& str) const } string s = endpts.substr(beg, end - beg); - EndpointPtr endp = _instance->endpointFactory()->create(s, true); + EndpointPtr endp = _instance->endpointFactory()->create(s); if(endp == 0) { EndpointParseException ex(__FILE__, __LINE__); ex.str = s; throw ex; } - vector<EndpointPtr> endps = endp->expand(); + vector<EndpointPtr> endps = endp->expand(true); endpoints.insert(endpoints.end(), endps.begin(), endps.end()); ++end; diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp index f35ae9b0528..729a3736603 100644 --- a/cppe/src/IceE/ReferenceFactory.cpp +++ b/cppe/src/IceE/ReferenceFactory.cpp @@ -11,6 +11,7 @@ #include <IceE/LocalException.h> #include <IceE/Instance.h> #include <IceE/IdentityUtil.h> +#include <IceE/Endpoint.h> #include <IceE/EndpointFactory.h> #ifdef ICEE_HAS_ROUTER # include <IceE/RouterInfo.h> @@ -461,10 +462,11 @@ IceInternal::ReferenceFactory::create(const string& str) } string es = s.substr(beg, end - beg); - EndpointPtr endp = _instance->endpointFactory()->create(es, false); + EndpointPtr endp = _instance->endpointFactory()->create(es); if(endp != 0) { - endpoints.push_back(endp); + vector<EndpointPtr> endps = endp->expand(false); + endpoints.insert(endpoints.end(), endps.begin(), endps.end()); } else { diff --git a/cppe/src/IceE/UnknownEndpoint.cpp b/cppe/src/IceE/UnknownEndpoint.cpp index 69f9c08aa55..db2d88b109f 100644 --- a/cppe/src/IceE/UnknownEndpoint.cpp +++ b/cppe/src/IceE/UnknownEndpoint.cpp @@ -79,15 +79,6 @@ IceInternal::UnknownEndpoint::acceptor(EndpointPtr& endp) const return 0; } -vector<EndpointPtr> -IceInternal::UnknownEndpoint::expand() const -{ - assert(false); - vector<EndpointPtr> ret; - return ret; - -} - bool IceInternal::UnknownEndpoint::publish() const { @@ -96,6 +87,15 @@ IceInternal::UnknownEndpoint::publish() const #endif +vector<EndpointPtr> +IceInternal::UnknownEndpoint::expand(bool includeLoopback) const +{ + assert(false); + vector<EndpointPtr> ret; + return ret; + +} + bool IceInternal::UnknownEndpoint::equivalent(const TransceiverPtr&) const { diff --git a/cppe/src/IceE/UnknownEndpoint.h b/cppe/src/IceE/UnknownEndpoint.h index bf1c5e93eb2..4f43aaf6247 100644 --- a/cppe/src/IceE/UnknownEndpoint.h +++ b/cppe/src/IceE/UnknownEndpoint.h @@ -30,9 +30,9 @@ public: virtual ConnectorPtr connector() const; #ifndef ICEE_PURE_CLIENT virtual AcceptorPtr acceptor(EndpointPtr&) const; - virtual std::vector<EndpointPtr> expand() const; virtual bool publish() const; #endif + virtual std::vector<EndpointPtr> expand(bool) const; virtual bool equivalent(const TransceiverPtr&) const; #ifndef ICEE_PURE_CLIENT virtual bool equivalent(const AcceptorPtr&) const; diff --git a/cppe/src/TcpTransport/EndpointFactory.cpp b/cppe/src/TcpTransport/EndpointFactory.cpp index 9e44b23af9f..11b09c7227e 100644 --- a/cppe/src/TcpTransport/EndpointFactory.cpp +++ b/cppe/src/TcpTransport/EndpointFactory.cpp @@ -30,7 +30,7 @@ IceInternal::EndpointFactory::~EndpointFactory() } EndpointPtr -IceInternal::EndpointFactory::create(const std::string& str, bool adapterEndp) const +IceInternal::EndpointFactory::create(const std::string& str) const { const string delim = " \t\n\r"; @@ -52,7 +52,7 @@ IceInternal::EndpointFactory::create(const std::string& str, bool adapterEndp) c if(protocol == "default" || protocol == "tcp") { - return new TcpEndpoint(_instance, str.substr(end), adapterEndp); + return new TcpEndpoint(_instance, str.substr(end)); } return 0; diff --git a/cppe/src/TcpTransport/TcpEndpoint.cpp b/cppe/src/TcpTransport/TcpEndpoint.cpp index 96f6caf1cb0..85f6ef4d556 100644 --- a/cppe/src/TcpTransport/TcpEndpoint.cpp +++ b/cppe/src/TcpTransport/TcpEndpoint.cpp @@ -33,7 +33,7 @@ IceInternal::TcpEndpoint::TcpEndpoint(const InstancePtr& instance, const string& { } -IceInternal::TcpEndpoint::TcpEndpoint(const InstancePtr& instance, const string& str, bool adapterEndp) : +IceInternal::TcpEndpoint::TcpEndpoint(const InstancePtr& instance, const string& str) : _instance(instance), _port(0), _timeout(-1), @@ -137,17 +137,10 @@ IceInternal::TcpEndpoint::TcpEndpoint(const InstancePtr& instance, const string& const_cast<string&>(_host) = _instance->defaultsAndOverrides()->defaultHost; if(_host.empty()) { - if(adapterEndp) - { - const_cast<string&>(_host) = "0.0.0.0"; - } - else - { - const_cast<string&>(_host) = getLocalHost(true); - } + const_cast<string&>(_host) = "0.0.0.0"; } } - else if(_host == "*" && adapterEndp) + else if(_host == "*") { const_cast<string&>(_host) = "0.0.0.0"; } @@ -355,18 +348,8 @@ IceInternal::TcpEndpoint::operator<(const Endpoint& r) const return false; } -#ifndef ICEE_PURE_CLIENT - -AcceptorPtr -IceInternal::TcpEndpoint::acceptor(EndpointPtr& endp) const -{ - Acceptor* p = new Acceptor(_instance, _host, _port); - endp = new TcpEndpoint(_instance, _host, p->effectivePort(), _timeout, _publish); - return p; -} - vector<EndpointPtr> -IceInternal::TcpEndpoint::expand() const +IceInternal::TcpEndpoint::expand(bool includeLoopback) const { vector<EndpointPtr> endps; if(_host == "0.0.0.0") @@ -374,8 +357,11 @@ IceInternal::TcpEndpoint::expand() const vector<string> hosts = getLocalHosts(); for(unsigned int i = 0; i < hosts.size(); ++i) { - endps.push_back(new TcpEndpoint(_instance, hosts[i], _port, _timeout, - hosts.size() == 1 || hosts[i] != "127.0.0.1")); + if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1") + { + endps.push_back(new TcpEndpoint(_instance, hosts[i], _port, _timeout, + hosts.size() == 1 || hosts[i] != "127.0.0.1")); + } } } else @@ -385,6 +371,16 @@ IceInternal::TcpEndpoint::expand() const return endps; } +#ifndef ICEE_PURE_CLIENT + +AcceptorPtr +IceInternal::TcpEndpoint::acceptor(EndpointPtr& endp) const +{ + Acceptor* p = new Acceptor(_instance, _host, _port); + endp = new TcpEndpoint(_instance, _host, p->effectivePort(), _timeout, _publish); + return p; +} + bool IceInternal::TcpEndpoint::publish() const { diff --git a/cppe/src/TcpTransport/TcpEndpoint.h b/cppe/src/TcpTransport/TcpEndpoint.h index dd2760e62e4..0904855e1fe 100644 --- a/cppe/src/TcpTransport/TcpEndpoint.h +++ b/cppe/src/TcpTransport/TcpEndpoint.h @@ -22,7 +22,7 @@ class TcpEndpoint : public IceInternal::Endpoint public: TcpEndpoint(const InstancePtr&, const std::string&, Ice::Int, Ice::Int, bool); - TcpEndpoint(const InstancePtr&, const std::string&, bool); + TcpEndpoint(const InstancePtr&, const std::string&); TcpEndpoint(BasicStream*); virtual void streamWrite(BasicStream*) const; @@ -34,9 +34,9 @@ public: virtual ConnectorPtr connector() const; #ifndef ICEE_PURE_CLIENT virtual AcceptorPtr acceptor(EndpointPtr&) const; - virtual std::vector<EndpointPtr> expand() const; virtual bool publish() const; #endif + virtual std::vector<EndpointPtr> expand(bool) const; virtual bool equivalent(const TransceiverPtr&) const; #ifndef ICEE_PURE_CLIENT virtual bool equivalent(const AcceptorPtr&) const; |