Reference

ACE_WIN32_Asynch_Result(3)

An abstract class which adds information to the OVERLAPPED structure to make it more useful.

NAME

ACE_WIN32_Asynch_Result -

An abstract class which adds information to the OVERLAPPED structure to make it more useful.

SYNOPSIS

class ACE_WIN32_Asynch_Result : 
  public virtual ACE_Asynch_Result_Impl,
  public OVERLAPPED
{
  public:
    friend class ACE_WIN32_Asynch_Accept;
    friend class ACE_WIN32_Proactor;
    u_long bytes_transferred (void) const;
    const void *act (void) const;
    int success (void) const;
    const void *completion_key (void) const;
    u_long error (void) const;
    ACE_HANDLE event (void) const;
    u_long offset (void) const;
    u_long offset_high (void) const;
    int priority (void) const;
    int signal_number (void) const;
    int post_completion (ACE_Proactor_Impl *proactor);
    virtual ~ACE_WIN32_Asynch_Result (void);
  protected:
    ACE_WIN32_Asynch_Result (
        ACE_Handler &handler,
        const void* act,
        ACE_HANDLE event,
        u_long offset,
        u_long offset_high,
        int priority,
        int signal_number = 0
        );
    ACE_Handler &handler_;
    const void *act_;
    u_long bytes_transferred_;
    int success_;
    const void *completion_key_;
    u_long error_;
};

DESCRIPTION

These classes only works on Win32 platforms.

The implementation of ACE_Asynch_Transmit_File and ACE_Asynch_Accept are only supported if ACE_HAS_WINSOCK2 is defined or you are on WinNT 4.0 or higher.

PUBLIC MEMBERS

friend class ACE_WIN32_Asynch_Accept;

Factory class has special permissions.

friend class ACE_WIN32_Proactor;

Proactor class has special permission.

u_long bytes_transferred (void) const;

Number of bytes transferred by the operation.

const void *act (void) const;

ACT associated with the operation.

int success (void) const;

Did the operation succeed?

const void *completion_key (void) const;

This returns the ACT associated with the handle when it was registered with the I/O completion port. This ACT is not the same as the ACT associated with the asynchronous operation.

u_long error (void) const;

Error value if the operation fail.

ACE_HANDLE event (void) const;

Event associated with the OVERLAPPED structure.

u_long offset (void) const;

This really make sense only when doing file I/O.

u_long offset_high (void) const;

Offset_high associated with the OVERLAPPED structure.

int priority (void) const;

The priority of the asynchronous operation. Currently, this is not supported on Win32.

int signal_number (void) const;

Returns 0.

int post_completion (ACE_Proactor_Impl *proactor);

Post this to the Proactor's completion port.

virtual ~ACE_WIN32_Asynch_Result (void);

Destructor.

PROTECTED MEMBERS

ACE_WIN32_Asynch_Result (
    ACE_Handler &handler,
    const void* act,
    ACE_HANDLE event,
    u_long offset,
    u_long offset_high,
    int priority,
    int signal_number = 0
    );

Constructor.

ACE_Handler &handler_;

Handler that will be called back.

const void *act_;

ACT for this operation.

u_long bytes_transferred_;

Bytes transferred by this operation.

int success_;

Success indicator.

const void *completion_key_;

ACT associated with handle.

u_long error_;

Error if operation failed.

AUTHOR

Irfan Pyarali ([email protected]), Tim Harrison ([email protected]) and Alexander Babu Arulanthu [email protected]

LIBRARY

ace