ACE
6.1.0
|
Auxillary handler for doing <Asynch_Transmit_File> in Unix. <ACE_POSIX_Asynch_Transmit_File> internally uses this. More...
Public Member Functions | |
ACE_POSIX_Asynch_Transmit_Handler (ACE_POSIX_Proactor *posix_proactor, ACE_POSIX_Asynch_Transmit_File_Result *result) | |
virtual | ~ACE_POSIX_Asynch_Transmit_Handler (void) |
Destructor. | |
int | transmit (void) |
Protected Types | |
enum | ACT { HEADER_ACT = 1, DATA_ACT = 2, TRAILER_ACT = 3 } |
Protected Member Functions | |
virtual void | handle_write_stream (const ACE_Asynch_Write_Stream::Result &result) |
This is called when asynchronous writes from the socket complete. | |
virtual void | handle_read_file (const ACE_Asynch_Read_File::Result &result) |
This is called when asynchronous reads from the file complete. | |
int | initiate_read_file (void) |
Issue asynch read from the file. | |
Protected Attributes | |
ACE_POSIX_Asynch_Transmit_File_Result * | result_ |
ACE_Message_Block * | mb_ |
Message bloack used to do the transmission. | |
ACT | header_act_ |
ACT to transmit header. | |
ACT | data_act_ |
ACT to transmit data. | |
ACT | trailer_act_ |
ACT to transmit trailer. | |
size_t | file_offset_ |
Current offset of the file being transmitted. | |
size_t | file_size_ |
Total size of the file. | |
size_t | bytes_transferred_ |
Number of bytes transferred on the stream. | |
ACE_POSIX_Asynch_Read_File | rf_ |
To read from the file to be transmitted. | |
ACE_POSIX_Asynch_Write_Stream | ws_ |
Write stream to write the header, trailer and the data. |
Auxillary handler for doing <Asynch_Transmit_File> in Unix. <ACE_POSIX_Asynch_Transmit_File> internally uses this.
This is a helper class for implementing <ACE_POSIX_Asynch_Transmit_File> in Unix systems.
enum ACE_POSIX_Asynch_Transmit_Handler::ACT [protected] |
ACE_POSIX_Asynch_Transmit_Handler::ACE_POSIX_Asynch_Transmit_Handler | ( | ACE_POSIX_Proactor * | posix_proactor, |
ACE_POSIX_Asynch_Transmit_File_Result * | result | ||
) |
Constructor. Result pointer will have all the information to do the file transmission (socket, file, application handler, bytes to write).
ACE_POSIX_Asynch_Transmit_Handler::~ACE_POSIX_Asynch_Transmit_Handler | ( | void | ) | [virtual] |
Destructor.
void ACE_POSIX_Asynch_Transmit_Handler::handle_read_file | ( | const ACE_Asynch_Read_File::Result & | result | ) | [protected, virtual] |
This is called when asynchronous reads from the file complete.
Reimplemented from ACE_Handler.
void ACE_POSIX_Asynch_Transmit_Handler::handle_write_stream | ( | const ACE_Asynch_Write_Stream::Result & | result | ) | [protected, virtual] |
This is called when asynchronous writes from the socket complete.
Reimplemented from ACE_Handler.
int ACE_POSIX_Asynch_Transmit_Handler::initiate_read_file | ( | void | ) | [protected] |
Issue asynch read from the file.
int ACE_POSIX_Asynch_Transmit_Handler::transmit | ( | void | ) |
Do the transmission. All the info to do the transmission is in the <result> member.
size_t ACE_POSIX_Asynch_Transmit_Handler::bytes_transferred_ [protected] |
Number of bytes transferred on the stream.
ACT ACE_POSIX_Asynch_Transmit_Handler::data_act_ [protected] |
ACT to transmit data.
size_t ACE_POSIX_Asynch_Transmit_Handler::file_offset_ [protected] |
Current offset of the file being transmitted.
size_t ACE_POSIX_Asynch_Transmit_Handler::file_size_ [protected] |
Total size of the file.
ACT ACE_POSIX_Asynch_Transmit_Handler::header_act_ [protected] |
ACT to transmit header.
ACE_Message_Block* ACE_POSIX_Asynch_Transmit_Handler::mb_ [protected] |
Message bloack used to do the transmission.
The asynch result pointer made from the initial transmit file request.
To read from the file to be transmitted.
ACT ACE_POSIX_Asynch_Transmit_Handler::trailer_act_ [protected] |
ACT to transmit trailer.
Write stream to write the header, trailer and the data.