summaryrefslogtreecommitdiff
path: root/ace/Asynch_Acceptor.cpp
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-07-29 19:12:04 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-07-29 19:12:04 +0000
commit411ced7dd54e196a407e03860400fd73dac7c9d8 (patch)
tree3e4a95597aa92f6f42677ec393af67f35beabf99 /ace/Asynch_Acceptor.cpp
parentca88ce8d257b98ec5f27e717a34469fb9ef88329 (diff)
downloadATCD-411ced7dd54e196a407e03860400fd73dac7c9d8.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Asynch_Acceptor.cpp')
-rw-r--r--ace/Asynch_Acceptor.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp
index fe7dda8c064..b7d076ab9dd 100644
--- a/ace/Asynch_Acceptor.cpp
+++ b/ace/Asynch_Acceptor.cpp
@@ -44,7 +44,8 @@ ACE_Asynch_Acceptor<HANDLER>::open (const ACE_INET_Addr &address,
int reuse_addr,
ACE_Proactor *proactor,
int validate_new_connection,
- int reissue_accept)
+ int reissue_accept,
+ int number_of_initial_accepts)
{
this->proactor (proactor);
this->pass_addresses_ = pass_addresses;
@@ -97,9 +98,11 @@ ACE_Asynch_Acceptor<HANDLER>::open (const ACE_INET_Addr &address,
"%p\n",
"ACE_OS::listen"), -1);
- // For the number of <backlog>.
+ // For the number of <intial_accepts>.
+ if (number_of_initial_accepts == -1)
+ number_of_initial_accepts = backlog;
- for (int i = 0; i < backlog; i++)
+ for (int i = 0; i < number_of_initial_accepts; i++)
// Initiate accepts.
if (this->accept (bytes_to_read) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
@@ -108,6 +111,24 @@ ACE_Asynch_Acceptor<HANDLER>::open (const ACE_INET_Addr &address,
return 0;
}
+template <class HANDLER> void
+ACE_Asynch_Acceptor<HANDLER>::set_handle (ACE_HANDLE listen_socket)
+{
+ // Take ownership of the <listen_socket>
+ this->listen_socket_ = listen_socket;
+
+ // Initialize the ACE_Asynch_Accept
+ this->asynch_accept_.set_handle (this->listen_handle_);
+
+ return 0;
+}
+
+template <class HANDLER> ACE_HANDLE
+ACE_Asynch_Acceptor<HANDLER>::get_handle (void) const
+{
+ return this->listen_socket_;
+}
+
template <class HANDLER> int
ACE_Asynch_Acceptor<HANDLER>::accept (size_t bytes_to_read)
{