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

ACE_WIN32_Asynch_Read_File Class Reference

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

#include <WIN32_Asynch_IO.h>

Inheritance diagram for ACE_WIN32_Asynch_Read_File:

Inheritance graph
[legend]
Collaboration diagram for ACE_WIN32_Asynch_Read_File:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_WIN32_Asynch_Read_File (ACE_WIN32_Proactor *win32_proactor)
 Constructor. More...

int read (ACE_Message_Block &message_block, u_long bytes_to_read, u_long offset, u_long offset_high, const void *act, int priority, int signal_number=0)
 This starts off an asynchronous read. More...

int readv (ACE_Message_Block &message_block, u_long bytes_to_read, u_long offset, u_long offset_high, const void *act, int priority, int signal_number=0)
 Same as above but with scatter support, through chaining of composite message blocks using the continuation field. More...

virtual ~ACE_WIN32_Asynch_Read_File (void)
 Destructor. More...

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

int cancel (void)
 This cancels all pending accepts operations that were issued by the calling thread. More...

ACE_Proactorproactor (void) const
 Return the underlying proactor. More...


Private Methods

int read (ACE_Message_Block &message_block, u_long bytes_to_read, const void *act, int priority, int signal_number=0)
 This method belongs to ACE_WIN32_Asynch_Read_Stream. More...

int readv (ACE_Message_Block &message_block, u_long bytes_to_read, const void *act, int priority, int signal_number=0)
 Same as above but with scatter support, through chaining of composite message blocks using the continuation field. More...


Detailed Description

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

Once <open> is called, multiple asynchronous <read>s can started using this class. A ACE_Asynch_Read_File::Result will be passed back to the <handler> when the asynchronous reads completes through the <ACE_Handler::handle_read_file> callback.

This class differs slightly from ACE_Asynch_Read_Stream as it allows the user to specify an offset for the read.


Constructor & Destructor Documentation

ACE_WIN32_Asynch_Read_File::ACE_WIN32_Asynch_Read_File ACE_WIN32_Proactor   win32_proactor
 

Constructor.

ACE_WIN32_Asynch_Read_File::~ACE_WIN32_Asynch_Read_File void    [virtual]
 

Destructor.


Member Function Documentation

int ACE_WIN32_Asynch_Read_File::cancel void    [virtual]
 

This cancels all pending accepts operations that were issued by the calling thread.

The function does not cancel asynchronous operations issued by other threads.

Reimplemented from ACE_WIN32_Asynch_Read_Stream.

int ACE_WIN32_Asynch_Read_File::open ACE_Handler   handler,
ACE_HANDLE    handle,
const void *    completion_key,
ACE_Proactor   proactor
[virtual]
 

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.

Reimplemented from ACE_WIN32_Asynch_Read_Stream.

ACE_Proactor * ACE_WIN32_Asynch_Read_File::proactor void    const [virtual]
 

Return the underlying proactor.

Reimplemented from ACE_WIN32_Asynch_Read_Stream.

int ACE_WIN32_Asynch_Read_File::read ACE_Message_Block   message_block,
u_long    bytes_to_read,
const void *    act,
int    priority,
int    signal_number = 0
[private, virtual]
 

This method belongs to ACE_WIN32_Asynch_Read_Stream.

It is here to avoid the compiler warnings. We forward this call to the ACE_WIN32_Asynch_Read_Stream class.

Reimplemented from ACE_Asynch_Read_File_Impl.

int ACE_WIN32_Asynch_Read_File::read ACE_Message_Block   message_block,
u_long    bytes_to_read,
u_long    offset,
u_long    offset_high,
const void *    act,
int    priority,
int    signal_number = 0
[virtual]
 

This starts off an asynchronous read.

Upto <bytes_to_read> will be read and stored in the <message_block>. The read will start at <offset> from the beginning of the file.

Reimplemented from ACE_Asynch_Read_File_Impl.

int ACE_WIN32_Asynch_Read_File::readv ACE_Message_Block   message_block,
u_long    bytes_to_read,
const void *    act,
int    priority,
int    signal_number = 0
[private, virtual]
 

Same as above but with scatter support, through chaining of composite message blocks using the continuation field.

Reimplemented from ACE_Asynch_Read_File_Impl.

int ACE_WIN32_Asynch_Read_File::readv ACE_Message_Block   message_block,
u_long    bytes_to_read,
u_long    offset,
u_long    offset_high,
const void *    act,
int    priority,
int    signal_number = 0
[virtual]
 

Same as above but with scatter support, through chaining of composite message blocks using the continuation field.

NOTE: Each data block payload must be at least the size of a system memory page and must be aligned on a system memory page size boundary

Reimplemented from ACE_Asynch_Read_File_Impl.


The documentation for this class was generated from the following files:
Generated on Thu May 23 00:24:58 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001