cpp-acceptor.h
来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· C头文件 代码 · 共 97 行
H
97 行
/* -*- C++ -*- */// $Id: CPP-acceptor.h 73555 2006-07-17 06:28:31Z ossama $#ifndef CPP_ACCEPTOR_H#define CPP_ACCEPTOR_H#include "ace/Acceptor.h"#if !defined (ACE_LACKS_PRAGMA_ONCE)# pragma once#endif /* ACE_LACKS_PRAGMA_ONCE */#include "ace/Svc_Handler.h"#include "ace/Sig_Adapter.h"template <ACE_PEER_STREAM_1>class Svc_Handler : public ACE_Svc_Handler <ACE_PEER_STREAM_2, ACE_NULL_SYNCH>{ // = TITLE // This class does the work once the <ACE_Oneshot_Acceptor> has // accepted a connection.public: // = Initialization method. Svc_Handler (ACE_Reactor *r); virtual int open (void *); // Perform the work of the SVC_HANDLER. virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE); // Handle data from the client. virtual int close (u_long); // Called if ACE_Svc_Handler is closed down unexpectedly. virtual int handle_timeout (const ACE_Time_Value &, const void *arg); // Handles acceptor timeouts.private: typedef ACE_Svc_Handler <ACE_PEER_STREAM_2, ACE_NULL_SYNCH> SVC_HANDLER;};template <class SVC_HANDLER, ACE_PEER_ACCEPTOR_1>class IPC_Server : public ACE_Oneshot_Acceptor<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>{ // = TITLE // This class illustrates how the <ACE_Oneshot_Acceptor> works.public: // = Initialization and termination. IPC_Server (void); // Constructor. ~IPC_Server (void); // Destructor. // = Demultiplexing hooks. virtual int handle_close (ACE_HANDLE handle, ACE_Reactor_Mask mask); // Make sure not to close down the <handle> if we're removed from // the <Reactor>. // = Dynamic linking hooks. virtual int init (int argc, ACE_TCHAR *argv[]); // Initialize the network server. virtual int fini (void); // Close down the server. virtual int svc (void); // Run the interative service.private: typedef ACE_Oneshot_Acceptor<SVC_HANDLER, ACE_PEER_ACCEPTOR_2> inherited; ACE_PEER_ACCEPTOR_ADDR server_addr_; // Address of this server. ACE_Synch_Options options_; // Options that this server is using. ACE_Sig_Adapter done_handler_; // Keeps track of when we shut down due to receipt of the SIGINT // signal.};#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)#include "CPP-acceptor.cpp"#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)#pragma implementation ("CPP-acceptor.cpp")#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */#endif /* CPP_ACCEPTOR_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?