summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/EndpointI.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/IceSSL/EndpointI.cpp
parentFixed comments (diff)
downloadice-bdcafea81addb5e3905c6ed5f4db093ec8ec0d15.tar.bz2
ice-bdcafea81addb5e3905c6ed5f4db093ec8ec0d15.tar.xz
ice-bdcafea81addb5e3905c6ed5f4db093ec8ec0d15.zip
Multi-home host support
Diffstat (limited to 'cpp/src/IceSSL/EndpointI.cpp')
-rw-r--r--cpp/src/IceSSL/EndpointI.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp
index 69866544132..a657b027874 100644
--- a/cpp/src/IceSSL/EndpointI.cpp
+++ b/cpp/src/IceSSL/EndpointI.cpp
@@ -265,10 +265,11 @@ IceSSL::EndpointI::unknown() const
return false;
}
-IceInternal::TransceiverPtr
-IceSSL::EndpointI::clientTransceiver() const
+vector<IceInternal::TransceiverPtr>
+IceSSL::EndpointI::clientTransceivers() const
{
- return 0;
+ vector<IceInternal::TransceiverPtr> ret;
+ return ret;
}
IceInternal::TransceiverPtr
@@ -278,10 +279,23 @@ IceSSL::EndpointI::serverTransceiver(IceInternal::EndpointIPtr& endp) const
return 0;
}
-IceInternal::ConnectorPtr
-IceSSL::EndpointI::connector() const
+vector<IceInternal::ConnectorPtr>
+IceSSL::EndpointI::connectors() const
{
- return new ConnectorI(_instance, _host, _port);
+ vector<IceInternal::ConnectorPtr> connectors;
+ vector<string> hosts = IceInternal::getHosts(_host);
+ if(hosts.size() > 1)
+ {
+ for(unsigned int i = 0; i < hosts.size(); ++i)
+ {
+ connectors.push_back(new ConnectorI(_instance, hosts[i], _port));
+ }
+ }
+ else
+ {
+ connectors.push_back(new ConnectorI(_instance, _host, _port));
+ }
+ return connectors;
}
IceInternal::AcceptorPtr