#include <POSIX_Asynch_IO.h>
Inheritance diagram for ACE_POSIX_Asynch_Read_File:


| Public Member Functions | |
| ACE_POSIX_Asynch_Read_File (ACE_POSIX_Proactor *posix_proactor) | |
| Constructor. | |
| 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) | 
| virtual | ~ACE_POSIX_Asynch_Read_File (void) | 
| Destructor. | |
| Private Member Functions | |
| int | read (ACE_Message_Block &message_block, size_t bytes_to_read, const void *act, int priority, int signal_number=0) | 
Once is called, multiple asynchronous s can started using this class. A <ACE_Asynch_Read_File::Result> will be passed back to the when the asynchronous reads completes through the <ACE_Handler::handle_read_file> callback.
This class differs slightly from as it allows the user to specify an offset for the read.
Definition at line 451 of file POSIX_Asynch_IO.h.
| 
 | 
| Constructor. 
 Definition at line 511 of file POSIX_Asynch_IO.cpp. 
 00512 : ACE_POSIX_Asynch_Read_Stream (posix_proactor) 00513 { 00514 } | 
| 
 | 
| Destructor. 
 Definition at line 558 of file POSIX_Asynch_IO.cpp. 
 00559 {
00560 }
 | 
| 
 | ||||||||||||||||||||||||
| 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>. Implements ACE_Asynch_Read_File_Impl. Definition at line 563 of file POSIX_Asynch_IO.cpp. References ACE_POSIX_Asynch_Read_Stream::read(). 
 00568 {
00569   return ACE_POSIX_Asynch_Read_Stream::read (message_block,
00570                                              bytes_to_read,
00571                                              act,
00572                                              priority,
00573                                              signal_number);
00574 }
 | 
| 
 | ||||||||||||||||||||||||||||||||
| This starts off an asynchronous read. Upto will be read and stored in the . The read will start at from the beginning of the file. Implements ACE_Asynch_Read_File_Impl. Definition at line 517 of file POSIX_Asynch_IO.cpp. References ACE_ERROR_RETURN, ACE_LIB_TEXT, ACE_NEW_RETURN, LM_ERROR, ACE_POSIX_Asynch_Operation::posix_proactor(), ACE_Message_Block::space(), and ACE_POSIX_Proactor::start_aio(). Referenced by ACE_POSIX_Asynch_Transmit_Handler::initiate_read_file(). 
 00524 {
00525   size_t space = message_block.space ();
00526   if ( bytes_to_read > space )
00527      bytes_to_read=space;
00528 
00529   if ( bytes_to_read == 0 )
00530     ACE_ERROR_RETURN
00531       ((LM_ERROR,
00532         ACE_LIB_TEXT ("ACE_POSIX_Asynch_Read_File::read:")
00533         ACE_LIB_TEXT ("Attempt to read 0 bytes or no space in the message block\n")),
00534        -1);
00535 
00536   ACE_POSIX_Asynch_Read_File_Result *result = 0;
00537   ACE_POSIX_Proactor *proactor = this->posix_proactor ();
00538   ACE_NEW_RETURN (result,
00539                   ACE_POSIX_Asynch_Read_File_Result (this->handler_proxy_,
00540                                                      this->handle_,
00541                                                      message_block,
00542                                                      bytes_to_read,
00543                                                      act,
00544                                                      offset,
00545                                                      offset_high,
00546                                                      posix_proactor ()->get_handle (),
00547                                                      priority,
00548                                                      signal_number),
00549                   -1);
00550 
00551   int return_val = proactor->start_aio (result, ACE_POSIX_Proactor::ACE_OPCODE_READ);
00552   if (return_val == -1)
00553     delete result;
00554 
00555   return return_val;
00556 }
 | 
 1.3.6
 
1.3.6