diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2007-05-18 13:34:39 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2007-05-18 13:34:39 +0000 |
commit | bdcafea81addb5e3905c6ed5f4db093ec8ec0d15 (patch) | |
tree | 7cea0017b188b25abf1caac607476e21d63a8a7e /cpp/src/Ice/TcpEndpointI.cpp | |
parent | Fixed comments (diff) | |
download | ice-bdcafea81addb5e3905c6ed5f4db093ec8ec0d15.tar.bz2 ice-bdcafea81addb5e3905c6ed5f4db093ec8ec0d15.tar.xz ice-bdcafea81addb5e3905c6ed5f4db093ec8ec0d15.zip |
Multi-home host support
Diffstat (limited to 'cpp/src/Ice/TcpEndpointI.cpp')
-rw-r--r-- | cpp/src/Ice/TcpEndpointI.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp index 6cf54872826..6b0b7a5c4b5 100644 --- a/cpp/src/Ice/TcpEndpointI.cpp +++ b/cpp/src/Ice/TcpEndpointI.cpp @@ -265,10 +265,11 @@ IceInternal::TcpEndpointI::unknown() const return false; } -TransceiverPtr -IceInternal::TcpEndpointI::clientTransceiver() const +vector<TransceiverPtr> +IceInternal::TcpEndpointI::clientTransceivers() const { - return 0; + vector<TransceiverPtr> ret; + return ret; } TransceiverPtr @@ -278,10 +279,23 @@ IceInternal::TcpEndpointI::serverTransceiver(EndpointIPtr& endp) const return 0; } -ConnectorPtr -IceInternal::TcpEndpointI::connector() const +vector<ConnectorPtr> +IceInternal::TcpEndpointI::connectors() const { - return new TcpConnector(_instance, _host, _port); + vector<ConnectorPtr> connectors; + vector<string> hosts = getHosts(_host); + if(hosts.size() > 1) + { + for(unsigned int i = 0; i < hosts.size(); ++i) + { + connectors.push_back(new TcpConnector(_instance, hosts[i], _port)); + } + } + else + { + connectors.push_back(new TcpConnector(_instance, _host, _port)); + } + return connectors; } AcceptorPtr |