diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-29 19:12:04 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-29 19:12:04 +0000 |
commit | 411ced7dd54e196a407e03860400fd73dac7c9d8 (patch) | |
tree | 3e4a95597aa92f6f42677ec393af67f35beabf99 /ace/Asynch_Acceptor.cpp | |
parent | ca88ce8d257b98ec5f27e717a34469fb9ef88329 (diff) | |
download | ATCD-411ced7dd54e196a407e03860400fd73dac7c9d8.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Asynch_Acceptor.cpp')
-rw-r--r-- | ace/Asynch_Acceptor.cpp | 27 |
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) { |