#include <ace/Acceptor.h> template<class SVC_HANDLER, ACE_PEER_ACCEPTOR_1> class ACE_Acceptor : public ACE_Service_Object {
public:
ACE_Acceptor (ACE_Reactor * = 0);
ACE_Acceptor ( const ACE_PEER_ACCEPTOR_ADDR &local_addr, ACE_Reactor * = ACE_Service_Config::reactor () );
int open ( const ACE_PEER_ACCEPTOR_ADDR &, ACE_Reactor * = ACE_Service_Config::reactor () );
virtual ~ACE_Acceptor (void);
virtual operator ACE_PEER_ACCEPTOR &() const;
virtual ACE_PEER_ACCEPTOR &acceptor (void) const;
ACE_Reactor *reactor (void) const;
void reactor (ACE_Reactor *);
virtual ACE_HANDLE get_handle (void) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
protected:
virtual SVC_HANDLER *make_svc_handler (void);
virtual int accept_svc_handler (SVC_HANDLER *svc_handler);
virtual int activate_svc_handler (SVC_HANDLER *svc_handler);
virtual int handle_close ( ACE_HANDLE = ACE_INVALID_HANDLE, ACE_Reactor_Mask = ACE_Event_Handler::RWE_MASK );
virtual int handle_input (ACE_HANDLE);
virtual int init (int argc, char *argv[]);
virtual int fini (void);
virtual int info (char **buf, size_t) const;
virtual int suspend (void);
virtual int resume (void);
private:
ACE_Reactor *reactor_;
ACE_PEER_ACCEPTOR peer_acceptor_;
};
ACE_Acceptor (ACE_Reactor * = 0);
ACE_Acceptor (
const ACE_PEER_ACCEPTOR_ADDR &local_addr,
ACE_Reactor * = ACE_Service_Config::reactor ()
);
this
with the Reactor and listen for
connection requests at the designated local_addr
.
int open (
const ACE_PEER_ACCEPTOR_ADDR &,
ACE_Reactor * = ACE_Service_Config::reactor ()
);
this
with the Reactor and listen for
connection requests at the designated local_addr
.
virtual ~ACE_Acceptor (void);
virtual operator ACE_PEER_ACCEPTOR &() const;
virtual ACE_PEER_ACCEPTOR &acceptor (void) const;
ACE_Reactor *reactor (void) const;
void reactor (ACE_Reactor *);
virtual ACE_HANDLE get_handle (void) const;
ACE_HANDLE
.
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
virtual SVC_HANDLER *make_svc_handler (void);
virtual int accept_svc_handler (SVC_HANDLER *svc_handler);
svc_handler
. The default behavior delegates to the
PEER_ACCEPTOR::accept.
virtual int activate_svc_handler (SVC_HANDLER *svc_handler);
svc_handler
with the appropriate
concurrency strategy. The default behavior of this method is to
activate the SVC_HANDLER by calling its open() method (which
allows the SVC_HANDLER to define its own concurrency strategy).
However, subclasses can override this strategy to do more
sophisticated concurrency activations (such as making the
SVC_HANDLER as an "active object" via multi-threading or
multi-processing).
virtual int handle_close (
ACE_HANDLE = ACE_INVALID_HANDLE,
ACE_Reactor_Mask = ACE_Event_Handler::RWE_MASK
);
this
is removed from the
reactor_
.
virtual int handle_input (ACE_HANDLE);
virtual int init (int argc, char *argv[]);
virtual int fini (void);
handle_close
.
virtual int info (char **buf, size_t) const;
buf
.
virtual int suspend (void);
Reactor::suspend
.
virtual int resume (void);
Reactor::resume
.