Reference

ACE_WIN32_Asynch_Read_Stream(3)

This class is a factory for starting off asynchronous reads on a stream.

NAME

ACE_WIN32_Asynch_Read_Stream -

This class is a factory for starting off asynchronous reads on a stream.

SYNOPSIS

class ACE_WIN32_Asynch_Read_Stream : 
  public virtual ACE_Asynch_Read_Stream_Impl,
  public ACE_WIN32_Asynch_Operation
{
  public:
    ACE_WIN32_Asynch_Read_Stream (ACE_WIN32_Proactor *win32_proactor);
    int read (
        ACE_Message_Block &message_block,
        u_long bytes_to_read,
        const void *act,
        int priority,
        int signal_number = 0
        );
    virtual ~ACE_WIN32_Asynch_Read_Stream (void);
    int open (
        ACE_Handler &handler,
        ACE_HANDLE handle,
        const void *completion_key,
        ACE_Proactor *proactor
        );
    int cancel (void);
    ACE_Proactor* proactor (void) const;
  protected:
    int shared_read (ACE_WIN32_Asynch_Read_Stream_Result *result);
};

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

ACE_WIN32_Asynch_Read_Stream (ACE_WIN32_Proactor *win32_proactor);

Constructor.

int read (
    ACE_Message_Block &message_block,
    u_long bytes_to_read,
    const void *act,
    int priority,
    int signal_number = 0
    );

This starts off an asynchronous read. Upto bytes_to_read will be read and stored in the message_block.

virtual ~ACE_WIN32_Asynch_Read_Stream (void);

Destructor.

int 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), ACE_Handler::handle will be called on the handler to get the correct handle.

int cancel (void);

This cancels all pending accepts operations that were issued by the calling thread. The function does not cancel asynchronous operations issued by other threads.

ACE_Proactor* proactor (void) const;

Return the underlying proactor.

PROTECTED MEMBERS

int shared_read (ACE_WIN32_Asynch_Read_Stream_Result *result);

This is the method which does the real work and is there so that the ACE_Asynch_Read_File class can use it too.

AUTHOR

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

LIBRARY

ace