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

ACE_WIN32_Asynch_Write_File Class Reference

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

#include <WIN32_Asynch_IO.h>

Inheritance diagram for ACE_WIN32_Asynch_Write_File:

Inheritance graph
[legend]
Collaboration diagram for ACE_WIN32_Asynch_Write_File:

Collaboration graph
[legend]
List of all members.

Public Methods

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

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

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

virtual ~ACE_WIN32_Asynch_Write_File (void)
 Destrcutor. 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 write (ACE_Message_Block &message_block, size_t bytes_to_write, const void *act, int priority, int signal_number=0)
 This method belongs to ACE_WIN32_Asynch_Write_Stream. More...

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


Detailed Description

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

Once <open> is called, multiple asynchronous <write>s can be started using this class. A ACE_Asynch_Write_File::Result will be passed back to the <handler> when the asynchronous writes completes through the <ACE_Handler::handle_write_file> callback.


Constructor & Destructor Documentation

ACE_WIN32_Asynch_Write_File::ACE_WIN32_Asynch_Write_File ACE_WIN32_Proactor   win32_proactor
 

Constructor.

ACE_WIN32_Asynch_Write_File::~ACE_WIN32_Asynch_Write_File void    [virtual]
 

Destrcutor.


Member Function Documentation

int ACE_WIN32_Asynch_Write_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_Write_Stream.

int ACE_WIN32_Asynch_Write_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_Write_Stream.

ACE_Proactor * ACE_WIN32_Asynch_Write_File::proactor void    const [virtual]
 

Return the underlying proactor.

Reimplemented from ACE_WIN32_Asynch_Write_Stream.

int ACE_WIN32_Asynch_Write_File::write ACE_Message_Block   message_block,
size_t    bytes_to_write,
const void *    act,
int    priority,
int    signal_number = 0
[private, virtual]
 

This method belongs to ACE_WIN32_Asynch_Write_Stream.

It is here to avoid compiler warnings. This method is forwarded to the ACE_WIN32_Asynch_Write_Stream class.

Reimplemented from ACE_Asynch_Write_File_Impl.

int ACE_WIN32_Asynch_Write_File::write ACE_Message_Block   message_block,
size_t    bytes_to_write,
u_long    offset,
u_long    offset_high,
const void *    act,
int    priority,
int    signal_number = 0
[virtual]
 

This starts off an asynchronous write.

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

Reimplemented from ACE_Asynch_Write_File_Impl.

int ACE_WIN32_Asynch_Write_File::writev ACE_Message_Block   message_block,
size_t    bytes_to_write,
const void *    act,
int    priority,
int    signal_number = 0
[private, virtual]
 

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

Reimplemented from ACE_Asynch_Write_File_Impl.

int ACE_WIN32_Asynch_Write_File::writev ACE_Message_Block   message_block,
size_t    bytes_to_write,
u_long    offset,
u_long    offset_high,
const void *    act,
int    priority,
int    signal_number = 0
[virtual]
 

Same as above but with gather 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_Write_File_Impl.


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