Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_Asynch_Operation Class Reference

This is an interface base class for all asynch operations. The resposiblility of this class is to forward all methods to its delegation/implementation class, e.g., or . More...

`#include <Asynch_IO.h>`

Inheritance diagram for ACE_Asynch_Operation

[legend]
Collaboration diagram for ACE_Asynch_Operation:

[legend]
List of all members.

## Public Methods
int | open (ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor)
int | cancel (void)
ACE_Proactor* | proactor (void) const
| Return the underlying proactor.
virtual | ~ACE_Asynch_Operation (void)
| Destructor.
## Protected Methods
| ACE_Asynch_Operation (void)
| Constructor.
ACE_Asynch_Operation_Impl* | implementation (void) const
| Return the underlying implementation class.
void | implementation (ACE_Asynch_Operation_Impl *implementation)
| Set the implementation class.
ACE_Proactor* | get_proactor (ACE_Proactor *user_proactor, ACE_Handler &handler) const
| Get a proactor for/from the user.
## Protected Attributes
ACE_Asynch_Operation_Impl* | implementation_
| Implementation class.

## Detailed Description

This is an interface base class for all asynch operations. The resposiblility of this class is to forward all methods to its delegation/implementation class, e.g., or .

There are some attributes and functionality which is common to all asychronous operations. The delegation classes of this class will factor out this code.

## Constructor & Destructor Documentation

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

| Destructor.

ACE_Asynch_Operation::ACE_Asynch_Operation ( | void )`[protected]`

| Constructor.

## Member Function Documentation

int ACE_Asynch_Operation::cancel ( | void )

| (Attempts to) cancel the asynchronous operation pending against the <handle> registered with this Operation. All completion notifications for the I/O operations will occur normally. = Return Values: -1 : Operation failed. (can get only in POSIX). 0 : All the operations were cancelled. 1 : All the operations were already finished in this handle. Unable to cancel them. 2 : Atleast one of the requested operations cannot be cancelled. There is slight difference in the semantics between NT and POSIX platforms which is given below. = Win32 : cancels all pending accepts operations that were issued by the calling thread. The function does not cancel asynchronous operations issued by other threads. All I/O operations that are canceled will complete with the error ERROR_OPERATION_ABORTED. = POSIX: Attempts to cancel one or more asynchronous I/O requests currently outstanding against the <handle> registered in this operation. For requested operations that are successfully canceled, the associated error status is set to ECANCELED.

ACE_Proactor * ACE_Asynch_Operation::get_proactor ( | ACE_Proactor * user_proactor,
| ACE_Handler & handler ) const`[protected]`

| Get a proactor for/from the user.

void ACE_Asynch_Operation::implementation ( | ACE_Asynch_Operation_Impl * implementation )`[protected]`

| Set the implementation class.

ACE_Asynch_Operation_Impl * ACE_Asynch_Operation::implementation ( | void ) const`[protected]`

| Return the underlying implementation class. Reimplemented in ACE_Asynch_Read_Stream, ACE_Asynch_Write_Stream, ACE_Asynch_Read_File, ACE_Asynch_Write_File, ACE_Asynch_Accept, ACE_Asynch_Transmit_File, ACE_Asynch_Read_Dgram, and ACE_Asynch_Write_Dgram.

int ACE_Asynch_Operation::open ( | ACE_Handler & handler,
| ACE_HANDLE handle,
| const void * completion_key,
| ACE_Proactor * proactor )

| Initializes the factory with information which will be used with each asynchronous call. If (<handle> == ACE_INVALID_HANDLE), will be called on the <handler> to get the correct handle. Reimplemented in ACE_Asynch_Read_Stream, ACE_Asynch_Write_Stream, ACE_Asynch_Read_File, ACE_Asynch_Write_File, ACE_Asynch_Accept, ACE_Asynch_Transmit_File, ACE_Asynch_Read_Dgram, and ACE_Asynch_Write_Dgram.

ACE_Proactor * ACE_Asynch_Operation::proactor ( | void ) const

| Return the underlying proactor.

## Member Data Documentation

ACE_Asynch_Operation_Impl * ACE_Asynch_Operation::implementation_`[protected]`

| Implementation class. Reimplemented in ACE_Asynch_Read_Stream, ACE_Asynch_Write_Stream, ACE_Asynch_Read_File, ACE_Asynch_Write_File, ACE_Asynch_Accept, ACE_Asynch_Transmit_File, ACE_Asynch_Read_Dgram, and ACE_Asynch_Write_Dgram.

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

- Asynch_IO.h
- Asynch_IO.cpp