# ACE_POSIX_CB_Proactor Class Reference

Implementation of Callback-based Proactor };. More...

`#include <POSIX_CB_Proactor.h>`

Inheritance diagram for ACE_POSIX_CB_Proactor:

[legend]
Collaboration diagram for ACE_POSIX_CB_Proactor:

[legend]
List of all members.

## 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

void | aio_completion_func (sigval_t 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_

## Detailed Description

Implementation of Callback-based Proactor };.

## Constructor & Destructor Documentation

ACE_POSIX_CB_Proactor::~ACE_POSIX_CB_Proactor | ( | void |  | ) | `[virtual]`

| Destructor.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL 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.

## Member Function Documentation

void ACE_POSIX_CB_Proactor::aio_completion_func | ( | sigval_t | 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 | ( | 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 | ( | 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_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.

## Member Data Documentation

ACE_SYNCH_SEMAPHORE ACE_POSIX_CB_Proactor::sema_ `[protected]`

| semaphore variable to notify used to wait the first AIO start

The documentation for this class was generated from the following files:

- POSIX_CB_Proactor.h
- POSIX_CB_Proactor.cpp