summaryrefslogtreecommitdiff
path: root/ace/Strategies_T.h
diff options
context:
space:
mode:
authorcleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-21 20:37:59 +0000
committercleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-21 20:37:59 +0000
commit254413de2ec1f7801a77a2b2ade799b6be7ea001 (patch)
tree8186d017bc38caa9b861e0b8cfceaf72d681156d /ace/Strategies_T.h
parent5415bd5482f34c03d637643da6182586fd99d323 (diff)
downloadATCD-254413de2ec1f7801a77a2b2ade799b6be7ea001.tar.gz
Fixed problem encountered on HP platforms.
Diffstat (limited to 'ace/Strategies_T.h')
-rw-r--r--ace/Strategies_T.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/ace/Strategies_T.h b/ace/Strategies_T.h
index 64f64429e6f..2abc53bf5a4 100644
--- a/ace/Strategies_T.h
+++ b/ace/Strategies_T.h
@@ -501,7 +501,7 @@ public:
};
template <class ADDR_T, class SVC_HANDLER>
-class ACE_Hash_Addr : public ADDR_T
+class ACE_Hash_Addr
// = TITLE
// Internal class to compute hash values on addresses in
// <ACE_Cached_Connect_Strategy>.
@@ -517,7 +517,7 @@ class ACE_Hash_Addr : public ADDR_T
// = END<CODE>
// = END<INDENT>
// Likewise, the <ADDR_T> parameter/subclass is typically
- // <ACE_INET_Addr>.
+ // <ACE_INET_Addr>. It is expected to implement operator==().
{
public:
// = Initialization methods.
@@ -535,6 +535,11 @@ public:
int operator== (const ACE_Hash_Addr<ADDR_T, SVC_HANDLER> &rhs) const;
// Compares two hash values.
+ operator ADDR_T& (void);
+ operator const ADDR_T& (void) const;
+ // Conversion operators allowing <ACE_Hash_Addr> to be used in place
+ // of an <{ADDR_T}>.
+
private:
size_t hash_i (const ADDR_T &) const;
// This is the method that actually performs the non-cached hash
@@ -552,6 +557,9 @@ private:
// Pointer to associated <SVC_HANDLER> which is used to detect
// "in-use" <SVC_HANDLER>s so we can ignore them. See <DESCRIPTION>
// for details on methods required on <SVC_HANDLER>.
+
+ ADDR_T addr_;
+ // The underlying address.
};
template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1, class MUTEX>