summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Reference.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Reference.h')
-rw-r--r--cpp/src/Ice/Reference.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/cpp/src/Ice/Reference.h b/cpp/src/Ice/Reference.h
index 1dadba0465c..3d2b9b4701c 100644
--- a/cpp/src/Ice/Reference.h
+++ b/cpp/src/Ice/Reference.h
@@ -98,7 +98,7 @@ public:
virtual ReferencePtr changeTimeout(int) const = 0;
virtual ReferencePtr changeConnectionId(const std::string&) const = 0;
- virtual int hash() const; // Conceptually const.
+ int hash() const; // Conceptually const.
//
// Utility methods.
@@ -133,9 +133,8 @@ protected:
Reference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const std::string&, Mode, bool);
Reference(const Reference&);
- void hashInit() const;
+ virtual Ice::Int hashInit() const;
- IceUtil::Mutex _hashMutex; // For lazy initialization of hash value.
mutable Ice::Int _hashValue;
mutable bool _hashInitialized;
@@ -240,8 +239,6 @@ public:
virtual ReferencePtr changeTimeout(int) const;
virtual ReferencePtr changeConnectionId(const std::string&) const;
- virtual int hash() const;
-
virtual bool isIndirect() const;
virtual bool isWellKnown() const;
@@ -268,6 +265,8 @@ protected:
std::vector<EndpointIPtr> filterEndpoints(const std::vector<EndpointIPtr>&) const;
+ virtual int hashInit() const;
+
private:
std::vector<EndpointIPtr> _endpoints; // Empty if indirect proxy.