Generic factory for actively connecting clients and creating service handlers (SVC_HANDLERs).
More...
|
| | ACE_Connector (ACE_Reactor *r=ACE_Reactor::instance(), int flags=0) |
| |
| virtual int | open (ACE_Reactor *r=ACE_Reactor::instance(), int flags=0) |
| |
| virtual | ~ACE_Connector () |
| | Shutdown a connector and release resources.
|
| |
| virtual int | connect (SVC_HANDLER *&svc_handler, const typename PEER_CONNECTOR::PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options=ACE_Synch_Options::defaults, const typename PEER_CONNECTOR::PEER_ADDR &local_addr=reinterpret_cast< const peer_addr_type & >(peer_addr_type::sap_any), int reuse_addr=0, int flags=O_RDWR, int perms=0) |
| |
| virtual int | connect (SVC_HANDLER *&svc_handler_hint, SVC_HANDLER *&svc_handler, const typename PEER_CONNECTOR::PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options=ACE_Synch_Options::defaults, const typename PEER_CONNECTOR::PEER_ADDR &local_addr=reinterpret_cast< const peer_addr_type & >(peer_addr_type::sap_any), int reuse_addr=0, int flags=O_RDWR, int perms=0) |
| |
| virtual int | connect_n (size_t n, SVC_HANDLER *svc_handlers[], typename PEER_CONNECTOR::PEER_ADDR remote_addrs[], ACE_TCHAR *failed_svc_handlers=0, const ACE_Synch_Options &synch_options=ACE_Synch_Options::defaults) |
| |
| virtual int | cancel (SVC_HANDLER *svc_handler) |
| |
| virtual int | close () |
| |
| virtual PEER_CONNECTOR & | connector () const |
| | Return the underlying PEER_CONNECTOR object.
|
| |
| virtual void | initialize_svc_handler (ACE_HANDLE handle, SVC_HANDLER *svc_handler) |
| | Initialize Svc_Handler.
|
| |
| virtual void | reactor (ACE_Reactor *reactor) |
| | Set Reactor.
|
| |
| virtual ACE_Reactor * | reactor () const |
| | Get Reactor.
|
| |
| void | dump () const |
| | Dump the state of an object.
|
| |
| virtual | ~ACE_Connector_Base ()=default |
| |
| | ACE_Service_Object (ACE_Reactor *=0) |
| | Constructor.
|
| |
| virtual | ~ACE_Service_Object () |
| | Destructor.
|
| |
| virtual | ~ACE_Event_Handler ()=default |
| | Destructor is virtual to enable proper cleanup.
|
| |
| virtual ACE_HANDLE | get_handle () const |
| | Get the I/O handle.
|
| |
| virtual void | set_handle (ACE_HANDLE) |
| | Set the I/O handle.
|
| |
| virtual int | priority () const |
| |
| virtual void | priority (int priority) |
| | Set the priority of the Event_Handler.
|
| |
| virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
| | Called when input events occur (e.g., connection or data).
|
| |
| virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
| |
| virtual int | handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
| | Called when an exceptional events occur (e.g., SIGURG).
|
| |
| virtual int | handle_timeout (const ACE_Time_Value ¤t_time, const void *act=0) |
| |
| virtual int | handle_exit (ACE_Process *) |
| | Called when a process exits.
|
| |
| virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) |
| |
| virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) |
| |
| virtual int | resume_handler () |
| |
| virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
| |
| virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
| |
| virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface () const |
| | Get only the reactor's timer related interface.
|
| |
| virtual Reference_Count | add_reference () |
| | Increment reference count on the handler.
|
| |
| virtual Reference_Count | remove_reference () |
| | Decrement reference count on the handler.
|
| |
| Reference_Counting_Policy & | reference_counting_policy () |
| | Current Reference_Counting_Policy.
|
| |
| | ACE_Shared_Object () |
| | Constructor.
|
| |
| virtual | ~ACE_Shared_Object () |
| | Destructor.
|
| |
|
| virtual int | make_svc_handler (SVC_HANDLER *&sh) |
| |
| virtual int | connect_svc_handler (SVC_HANDLER *&svc_handler, const typename PEER_CONNECTOR::PEER_ADDR &remote_addr, ACE_Time_Value *timeout, const typename PEER_CONNECTOR::PEER_ADDR &local_addr, int reuse_addr, int flags, int perms) |
| |
| virtual int | connect_svc_handler (SVC_HANDLER *&svc_handler, SVC_HANDLER *&sh_copy, const typename PEER_CONNECTOR::PEER_ADDR &remote_addr, ACE_Time_Value *timeout, const typename PEER_CONNECTOR::PEER_ADDR &local_addr, int reuse_addr, int flags, int perms) |
| |
| virtual int | activate_svc_handler (SVC_HANDLER *svc_handler) |
| |
| int | nonblocking_connect (SVC_HANDLER *, const ACE_Synch_Options &) |
| | Creates and registers ACE_NonBlocking_Connect_Handler.
|
| |
| virtual int | connect_i (SVC_HANDLER *&svc_handler, SVC_HANDLER **sh_copy, const typename PEER_CONNECTOR::PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options, const typename PEER_CONNECTOR::PEER_ADDR &local_addr, int reuse_addr, int flags, int perms) |
| | Implementation of the connect methods.
|
| |
| ACE_Unbounded_Set< ACE_HANDLE > & | non_blocking_handles () |
| |
| virtual int | init (int argc, ACE_TCHAR *argv[]) |
| |
| virtual int | fini () |
| | Calls handle_close() to shutdown the Connector gracefully.
|
| |
| virtual int | info (ACE_TCHAR **strp, size_t length) const |
| | Default version returns address info in buf.
|
| |
| virtual int | suspend () |
| |
| virtual int | resume () |
| |
| | ACE_Event_Handler (ACE_Reactor *=nullptr, int priority=ACE_Event_Handler::LO_PRIORITY) |
| | Force ACE_Event_Handler to be an abstract base class.
|
| |
Generic factory for actively connecting clients and creating service handlers (SVC_HANDLERs).
Implements the strategy for actively establishing connections with clients. Both blocking and non-blocking connects are supported. Moreover, non-blocking connects support timeouts.
An ACE_Connector is parameterized by concrete types that conform to the interfaces of SVC_HANDLER and PEER_CONNECTOR described below.
- Template Parameters
-
| SVC_HANDLER | The name of the concrete type that performs the application-specific service. The SVC_HANDLER typically inherits from ACE_Svc_Handler. |
- See also
- Svc_Handler.h.
- Template Parameters
-
| PEER_CONNECTOR | The name of the class that implements the PEER_CONNECTOR endpoint (e.g., ACE_SOCK_Connector) to passively establish connections. A PEER_CONNECTOR implementation must provide a PEER_STREAM and PEER_ADDR trait to identify the type of stream (e.g., ACE_SOCK_Stream) and type of address (e.g., ACE_INET_Addr) used by the endpoint. |