⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io_acceptor.cpp

📁 ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework)
💻 CPP
字号:
// IO_Acceptor.cpp,v 1.3 2005/09/29 09:04:59 sma Exp#include "JAWS/Data_Block.h"#include "JAWS/IO_Acceptor.h"#include "ace/OS_NS_sys_socket.h"ACE_RCSID(JAWS, IO_Acceptor, "IO_Acceptor.cpp,v 1.3 2005/09/29 09:04:59 sma Exp")JAWS_IO_Acceptor::JAWS_IO_Acceptor (void){}JAWS_IO_Acceptor::~JAWS_IO_Acceptor (void){}intJAWS_IO_Acceptor::open (const ACE_INET_Addr &, int){  return -1;}intJAWS_IO_Acceptor::open (const ACE_HANDLE &){  return -1;}voidJAWS_IO_Acceptor::close (void){}intJAWS_IO_Acceptor::accept (ACE_SOCK_Stream &, ACE_Addr *, ACE_Time_Value *,                          int, int) const{  return -1;}intJAWS_IO_Acceptor::accept (size_t, const void *){  return -1;}ACE_HANDLEJAWS_IO_Acceptor::get_handle (void){  return ACE_INVALID_HANDLE;}intJAWS_IO_Synch_Acceptor::open (const ACE_INET_Addr &local_sap, int backlog){  return this->acceptor_.open (local_sap, 1, PF_INET, backlog);}intJAWS_IO_Synch_Acceptor::open (const ACE_HANDLE &socket){  ACE_HANDLE handle = this->acceptor_.get_handle ();  if (handle == socket)    return 0;  if (handle != ACE_INVALID_HANDLE)    ACE_OS::closesocket (this->acceptor_.get_handle ());  this->acceptor_.set_handle (socket);  return 0;}intJAWS_IO_Synch_Acceptor::accept (ACE_SOCK_Stream &new_stream,                                ACE_Addr *remote_addr,                                ACE_Time_Value *timeout,                                int restart,                                int reset_new_handle) const{  return this->acceptor_.accept (new_stream, remote_addr, timeout,                                 restart, reset_new_handle);}intJAWS_IO_Synch_Acceptor::accept (size_t, const void *){  return -1;}ACE_HANDLEJAWS_IO_Synch_Acceptor::get_handle (void){  return this->acceptor_.get_handle ();}JAWS_IO_Asynch_Acceptor::JAWS_IO_Asynch_Acceptor (void)#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  : acceptor_ (*(new ACE_Asynch_Acceptor<JAWS_Asynch_Handler>)),    acceptor_ptr_ (&acceptor_)#endif{}JAWS_IO_Asynch_Acceptor::~JAWS_IO_Asynch_Acceptor (void){#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  delete this->acceptor_ptr_;  this->acceptor_ptr_ = 0;#endif}intJAWS_IO_Asynch_Acceptor::open (const ACE_INET_Addr &address, int backlog){#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  // Tell the acceptor to listen on this->port_, which sets up an  // asynchronous I/O request to the OS.  return this->acceptor_.open (address,                               JAWS_Data_Block::JAWS_DATA_BLOCK_SIZE,                               1,                               backlog,                               1,                               0,                               0,                               0,                               0);#else  ACE_UNUSED_ARG (address);  ACE_UNUSED_ARG (backlog);  return -1;#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */}intJAWS_IO_Asynch_Acceptor::open (const ACE_HANDLE &socket){#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  ACE_HANDLE handle = this->handle_;  if (handle == socket)    return 0;  if (handle != ACE_INVALID_HANDLE)    ACE_OS::closesocket (handle);  this->handle_ = socket;  return 0;#else  ACE_UNUSED_ARG (socket);  return -1;#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */}intJAWS_IO_Asynch_Acceptor::accept (size_t bytes_to_read, const void *act){#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  return this->acceptor_.accept (bytes_to_read, act);#else  ACE_UNUSED_ARG (bytes_to_read);  ACE_UNUSED_ARG (act);  return -1;#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */}intJAWS_IO_Asynch_Acceptor::accept (ACE_SOCK_Stream &, ACE_Addr *,                                 ACE_Time_Value *, int, int) const{  return -1;}ACE_HANDLEJAWS_IO_Asynch_Acceptor::get_handle (void){#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  return this->acceptor_.get_handle ();#else  return ACE_INVALID_HANDLE;#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */}voidJAWS_IO_Asynch_Acceptor::close (void){#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)  delete this->acceptor_ptr_;  this->acceptor_ptr_ = 0;#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */}#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)template class ACE_Asynch_Acceptor<JAWS_Asynch_Handler>;#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */template class ACE_Singleton<JAWS_IO_Asynch_Acceptor, ACE_SYNCH_MUTEX>;template class ACE_Singleton<JAWS_IO_Synch_Acceptor, ACE_SYNCH_MUTEX>;template class ACE_LOCK_SOCK_Acceptor<ACE_SYNCH_MUTEX>;template class ACE_LOCK_SOCK_Acceptor<ACE_SYNCH_NULL_MUTEX>;#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)#pragma instantiate ACE_Asynch_Acceptor<JAWS_Asynch_Handler>#pragma instantiate  ACE_Singleton<JAWS_IO_Asynch_Acceptor, ACE_SYNCH_MUTEX>#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */#pragma instantiate  ACE_Singleton<JAWS_IO_Synch_Acceptor, ACE_SYNCH_MUTEX>#pragma instantiate ACE_LOCK_SOCK_Acceptor<ACE_SYNCH_MUTEX>#pragma instantiate ACE_LOCK_SOCK_Acceptor<ACE_SYNCH_NULL_MUTEX>#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -