ACE
6.1.0
|
Implementation of Callback-based Proactor };. More...
#include <POSIX_CB_Proactor.h>
Public Member Functions | |
virtual Proactor_Type | get_impl_type (void) |
virtual | ~ACE_POSIX_CB_Proactor (void) |
Destructor. | |
ACE_POSIX_CB_Proactor (size_t max_aio_operations=ACE_AIO_DEFAULT_SIZE) | |
Static Public Member Functions | |
static void | aio_completion_func (sigval cb_data) |
Protected Member Functions | |
virtual int | handle_events (ACE_Time_Value &wait_time) |
virtual int | handle_events (void) |
virtual ssize_t | allocate_aio_slot (ACE_POSIX_Asynch_Result *result) |
Find free slot to store result and aiocb pointer. | |
virtual int | notify_completion (int sig_num) |
int | handle_events_i (u_long milli_seconds) |
Protected Attributes | |
ACE_SYNCH_SEMAPHORE | sema_ |
Implementation of Callback-based Proactor };.
ACE_POSIX_CB_Proactor::~ACE_POSIX_CB_Proactor | ( | void | ) | [virtual] |
Destructor.
ACE_POSIX_CB_Proactor::ACE_POSIX_CB_Proactor | ( | size_t | max_aio_operations = ACE_AIO_DEFAULT_SIZE | ) |
Constructor defines max number asynchronous operations that can be started at the same time.
void ACE_POSIX_CB_Proactor::aio_completion_func | ( | sigval | cb_data | ) | [static] |
ssize_t ACE_POSIX_CB_Proactor::allocate_aio_slot | ( | ACE_POSIX_Asynch_Result * | result | ) | [protected, virtual] |
Find free slot to store result and aiocb pointer.
Reimplemented from ACE_POSIX_AIOCB_Proactor.
ACE_POSIX_Proactor::Proactor_Type ACE_POSIX_CB_Proactor::get_impl_type | ( | void | ) | [virtual] |
Reimplemented from ACE_POSIX_AIOCB_Proactor.
int ACE_POSIX_CB_Proactor::handle_events | ( | ACE_Time_Value & | wait_time | ) | [protected, virtual] |
Dispatch a single set of events. If wait_time elapses before any events occur, return 0. Return 1 on success i.e., when a completion is dispatched, non-zero (-1) on errors and errno is set accordingly.
Reimplemented from ACE_POSIX_AIOCB_Proactor.
int ACE_POSIX_CB_Proactor::handle_events | ( | void | ) | [protected, virtual] |
Block indefinitely until at least one event is dispatched. Dispatch a single set of events. If wait_time elapses before any events occur, return 0. Return 1 on success i.e., when a completion is dispatched, non-zero (-1) on errors and errno is set accordingly.
Reimplemented from ACE_POSIX_AIOCB_Proactor.
int ACE_POSIX_CB_Proactor::handle_events_i | ( | u_long | milli_seconds | ) | [protected] |
Dispatch a single set of events. If milli_seconds elapses before any events occur, return 0. Return 1 if a completion is dispatched. Return -1 on errors.
Reimplemented from ACE_POSIX_AIOCB_Proactor.
int ACE_POSIX_CB_Proactor::notify_completion | ( | int | sig_num | ) | [protected, virtual] |
Notify queue of "post_completed" ACE_POSIX_Asynch_Results called from post_completion method
Reimplemented from ACE_POSIX_AIOCB_Proactor.
ACE_SYNCH_SEMAPHORE ACE_POSIX_CB_Proactor::sema_ [protected] |
Semaphore variable to notify used to wait the first AIO start