summaryrefslogtreecommitdiff
path: root/ace/Strategies_T.cpp
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-24 22:23:45 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-24 22:23:45 +0000
commit9212681553f91a55bfdf380058e3f232763952e9 (patch)
treef53098dac8b6c8d2c2e2f2a3b805dd15bb61bfb2 /ace/Strategies_T.cpp
parentd13d91b0e6e9fc23ddbb58400c9667ee70416c08 (diff)
downloadATCD-9212681553f91a55bfdf380058e3f232763952e9.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Strategies_T.cpp')
-rw-r--r--ace/Strategies_T.cpp34
1 files changed, 31 insertions, 3 deletions
diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp
index 1838fe22aa3..0e406c23ceb 100644
--- a/ace/Strategies_T.cpp
+++ b/ace/Strategies_T.cpp
@@ -459,13 +459,26 @@ ACE_Cached_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2, MUTEX>::open
return 0;
}
-template<class SVC_HANDLER, ACE_PEER_CONNECTOR_1, class MUTEX> void
+template<class SVC_HANDLER, ACE_PEER_CONNECTOR_1, class MUTEX> int
ACE_Cached_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2, MUTEX>::check_hint_i
(SVC_HANDLER *&sh,
+ const ACE_PEER_CONNECTOR_ADDR &remote_addr,
+ ACE_Time_Value *timeout,
+ const ACE_PEER_CONNECTOR_ADDR &local_addr,
+ int reuse_addr,
+ int flags,
+ int perms,
ACE_Hash_Addr<ACE_PEER_CONNECTOR_ADDR> &search_addr,
ACE_Hash_Map_Entry<ACE_Refcounted_Hash_Recyclable<ACE_Hash_Addr<ACE_PEER_CONNECTOR_ADDR> >, SVC_HANDLER *> *&entry,
int &found)
{
+ ACE_UNUSED_ARG (remote_addr);
+ ACE_UNUSED_ARG (timeout);
+ ACE_UNUSED_ARG (local_addr);
+ ACE_UNUSED_ARG (reuse_addr);
+ ACE_UNUSED_ARG (flags);
+ ACE_UNUSED_ARG (perms);
+
found = 0;
// Get the recycling act for the svc_handler
@@ -514,6 +527,8 @@ ACE_Cached_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2, MUTEX>::check_hin
if (found)
entry = possible_entry;
+
+ return 0;
}
template<class SVC_HANDLER, ACE_PEER_CONNECTOR_1, class MUTEX> int
@@ -616,8 +631,21 @@ ACE_Cached_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2, MUTEX>::connect_s
// Check if the user passed a hint svc_handler
if (sh != 0)
- this->check_hint_i (sh, search_addr, entry, found);
-
+ {
+ int result = this->check_hint_i (sh,
+ remote_addr,
+ timeout,
+ local_addr,
+ reuse_addr,
+ flags,
+ perms,
+ search_addr,
+ entry,
+ found);
+ if (result != 0)
+ return result;
+ }
+
// If not found
if (!found)
{