summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/TcpEndpointI.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2007-05-18 13:34:39 +0000
committerDwayne Boone <dwayne@zeroc.com>2007-05-18 13:34:39 +0000
commitbdcafea81addb5e3905c6ed5f4db093ec8ec0d15 (patch)
tree7cea0017b188b25abf1caac607476e21d63a8a7e /cpp/src/Ice/TcpEndpointI.cpp
parentFixed comments (diff)
downloadice-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.cpp26
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