summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/EndpointI.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2013-02-11 16:07:16 +0100
committerBenoit Foucher <benoit@zeroc.com>2013-02-11 16:07:16 +0100
commit0a52973ce569827357cfa9ac0a2e96c09ffbf7cc (patch)
treef219b25bebeca4f1e9e58e7174fe7870675b6246 /cpp/src/Ice/EndpointI.h
parentAdd Makefile.mak rule to register assemblies in source dir. (diff)
downloadice-0a52973ce569827357cfa9ac0a2e96c09ffbf7cc.tar.bz2
ice-0a52973ce569827357cfa9ac0a2e96c09ffbf7cc.tar.xz
ice-0a52973ce569827357cfa9ac0a2e96c09ffbf7cc.zip
Fixed ICE-5215: IPv6 support enabled by default
Diffstat (limited to 'cpp/src/Ice/EndpointI.h')
-rw-r--r--cpp/src/Ice/EndpointI.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h
index e7e1a208f19..a01476e2eda 100644
--- a/cpp/src/Ice/EndpointI.h
+++ b/cpp/src/Ice/EndpointI.h
@@ -15,6 +15,7 @@
#include <IceUtil/Thread.h>
#include <IceUtil/Monitor.h>
#include <Ice/Endpoint.h>
+#include <Ice/EndpointTypes.h>
#include <Ice/EndpointIF.h>
#include <Ice/InstanceF.h>
#include <Ice/TransceiverF.h>
@@ -114,11 +115,13 @@ public:
virtual TransceiverPtr transceiver(EndpointIPtr&) const = 0;
//
- // Return connectors for this endpoint, or empty vector if no
- // connector is available.
+ // Return connectors for this endpoint, or empty vector if no
+ // connector is available. Implementation is responsible for
+ // returning connectors sorted according to the endpoint selection
+ // type.
//
- virtual std::vector<ConnectorPtr> connectors() const = 0;
- virtual void connectors_async(const EndpointI_connectorsPtr&) const = 0;
+ virtual std::vector<ConnectorPtr> connectors(Ice::EndpointSelectionType) const = 0;
+ virtual void connectors_async(Ice::EndpointSelectionType, const EndpointI_connectorsPtr&) const = 0;
//
// Return an acceptor for this endpoint, or null if no acceptors
@@ -188,8 +191,9 @@ public:
EndpointHostResolver(const InstancePtr&);
- std::vector<ConnectorPtr> resolve(const std::string&, int, const EndpointIPtr&);
- void resolve(const std::string&, int, const EndpointIPtr&, const EndpointI_connectorsPtr&);
+ std::vector<ConnectorPtr> resolve(const std::string&, int, Ice::EndpointSelectionType, const EndpointIPtr&);
+ void resolve(const std::string&, int, Ice::EndpointSelectionType, const EndpointIPtr&,
+ const EndpointI_connectorsPtr&);
void destroy();
virtual void run();
@@ -202,12 +206,15 @@ private:
{
std::string host;
int port;
+ Ice::EndpointSelectionType selType;
EndpointIPtr endpoint;
EndpointI_connectorsPtr callback;
Ice::Instrumentation::ObserverPtr observer;
};
const InstancePtr _instance;
+ const IceInternal::ProtocolSupport _protocol;
+ const bool _preferIPv6;
bool _destroyed;
std::deque<ResolveEntry> _queue;
ObserverHelperT<Ice::Instrumentation::ThreadObserver> _observer;