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

ACE_POSIX_Asynch_Read_File Class Reference

This class is a factory for starting off asynchronous reads on a file. This class implements <ACE_Asynch_Read_File> for all POSIX implementations of Proactor. More...

#include <POSIX_Asynch_IO.h>

Inheritance diagram for ACE_POSIX_Asynch_Read_File:

Inheritance graph
[legend]
Collaboration diagram for ACE_POSIX_Asynch_Read_File:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_POSIX_Asynch_Read_File (ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor)
 Constructor. More...

int read (ACE_Message_Block &message_block, size_t 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...

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

int open (ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor=0)
 Initializes the factory with information which will be used with each asynchronous call. More...

int cancel (void)
 Not implemented. Returns 0. More...

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


Private Methods

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


Detailed Description

This class is a factory for starting off asynchronous reads on a file. This class implements <ACE_Asynch_Read_File> for all POSIX implementations of Proactor.

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_POSIX_Asynch_Read_File::ACE_POSIX_Asynch_Read_File ACE_POSIX_AIOCB_Proactor   posix_aiocb_proactor
 

Constructor.

ACE_POSIX_Asynch_Read_File::~ACE_POSIX_Asynch_Read_File void    [virtual]
 

Destructor.


Member Function Documentation

int ACE_POSIX_Asynch_Read_File::cancel void    [virtual]
 

Not implemented. Returns 0.

@

Reimplemented from ACE_POSIX_Asynch_Read_Stream.

int ACE_POSIX_Asynch_Read_File::open ACE_Handler   handler,
ACE_HANDLE    handle,
const void *    completion_key,
ACE_Proactor   proactor = 0
[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_POSIX_Asynch_Read_Stream.

ACE_Proactor * ACE_POSIX_Asynch_Read_File::proactor void    const [virtual]
 

Return the underlying proactor.

Reimplemented from ACE_POSIX_Asynch_Read_Stream.

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

This belongs to ACE_POSIX_Asynch_Read_Stream.

We have defined this here to avoid compiler warnings and forward the method to <ACE_POSIX_Asynch_Read_Stream::read>.

Reimplemented from ACE_Asynch_Read_File_Impl.

int ACE_POSIX_Asynch_Read_File::read ACE_Message_Block   message_block,
size_t    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.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 17:10:02 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001