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


Public Member Functions | |
| size_t | bytes_transferred (void) const |
| Number of bytes transferred by the operation. | |
| const void * | act (void) const |
| ACT associated with the operation. | |
| int | success (void) const |
| Did the operation succeed? | |
| const void * | completion_key (void) const |
| u_long | error (void) const |
| Error value if the operation fail. | |
| ACE_HANDLE | event (void) const |
| This returns ACE_INVALID_HANDLE on POSIX4 platforms. | |
| u_long | offset (void) const |
| u_long | offset_high (void) const |
| int | priority (void) const |
| Priority of the operation. | |
| int | signal_number (void) const |
| int | post_completion (ACE_Proactor_Impl *proactor) |
| Post to the Proactor. | |
| virtual | ~ACE_POSIX_Asynch_Result (void) |
| Destructor. | |
| void | set_error (u_long errcode) |
| Simulate error value to use in the post_completion (). | |
| void | set_bytes_transferred (size_t nbytes) |
| Simulate value to use in the post_completion (). | |
Protected Member Functions | |
| ACE_POSIX_Asynch_Result (const ACE_Handler::Proxy_Ptr &handler_proxy, const void *act, ACE_HANDLE event, u_long offset, u_long offset_high, int priority, int signal_number) | |
| Constructor. is not used on POSIX. | |
Protected Attributes | |
| ACE_Handler::Proxy_Ptr | handler_proxy_ |
| Handler that will be called back. | |
| const void * | act_ |
| size_t | bytes_transferred_ |
| Bytes transferred by this operation. | |
| int | success_ |
| Success indicator. | |
| const void * | completion_key_ |
| ACT associated with handle. | |
| u_long | error_ |
| Error if operation failed. | |
aiocb and makes it more useful.
Definition at line 57 of file POSIX_Asynch_IO.h.
|
|
Destructor.
Definition at line 111 of file POSIX_Asynch_IO.cpp.
00112 {
00113 }
|
|
||||||||||||||||||||||||||||||||
|
Constructor. is not used on POSIX.
Definition at line 116 of file POSIX_Asynch_IO.cpp. References ACE_Handler::Proxy_Ptr.
00123 : handler_proxy_ (handler_proxy), 00124 act_ (act), 00125 bytes_transferred_ (0), 00126 success_ (0), 00127 completion_key_ (0), 00128 error_ (0) 00129 { 00130 aio_offset = offset; 00131 aio_reqprio = priority; 00132 aio_sigevent.sigev_signo = signal_number; 00133 00134 // 00135 // @@ Support offset_high with aiocb64. 00136 // 00137 ACE_UNUSED_ARG (offset_high); 00138 00139 // Other fields in the <aiocb> will be initialized by the 00140 // subclasses. 00141 } |
|
|
ACT associated with the operation.
Implements ACE_Asynch_Result_Impl. Definition at line 37 of file POSIX_Asynch_IO.cpp. References act_.
00038 {
00039 return this->act_;
00040 }
|
|
|
Number of bytes transferred by the operation.
Implements ACE_Asynch_Result_Impl. Definition at line 25 of file POSIX_Asynch_IO.cpp. Referenced by ACE_POSIX_AIOCB_Proactor::process_result_queue().
00026 {
00027 return this->bytes_transferred_;
00028 }
|
|
|
This is the ACT associated with the handle on which the Asynch_Operation takes place. @ This is not implemented for POSIX4 platforms. Implements ACE_Asynch_Result_Impl. Definition at line 49 of file POSIX_Asynch_IO.cpp. References completion_key_.
00050 {
00051 return this->completion_key_;
00052 }
|
|
|
Error value if the operation fail.
Implements ACE_Asynch_Result_Impl. Definition at line 55 of file POSIX_Asynch_IO.cpp.
00056 {
00057 return this->error_;
00058 }
|
|
|
This returns ACE_INVALID_HANDLE on POSIX4 platforms.
Implements ACE_Asynch_Result_Impl. Definition at line 66 of file POSIX_Asynch_IO.cpp.
00067 {
00068 return ACE_INVALID_HANDLE;
00069 }
|
|
|
This really make sense only when doing file I/O. @ On POSIX4-Unix, offset_high should be supported using aiocb64. Implements ACE_Asynch_Result_Impl. Definition at line 72 of file POSIX_Asynch_IO.cpp.
00073 {
00074 return this->aio_offset;
00075 }
|
|
|
Implements ACE_Asynch_Result_Impl. Definition at line 78 of file POSIX_Asynch_IO.cpp. References ACE_NOTSUP_RETURN.
00079 {
00080 //
00081 // @@ Support aiocb64??
00082 //
00083 ACE_NOTSUP_RETURN (0);
00084 }
|
|
|
Post to the Proactor.
Implements ACE_Asynch_Result_Impl. Definition at line 99 of file POSIX_Asynch_IO.cpp. References ACE_ERROR_RETURN, LM_ERROR, and ACE_POSIX_Proactor::post_completion().
00100 {
00101 // Get to the platform specific implementation.
00102 ACE_POSIX_Proactor *posix_proactor = dynamic_cast<ACE_POSIX_Proactor *> (proactor_impl);
00103
00104 if (posix_proactor == 0)
00105 ACE_ERROR_RETURN ((LM_ERROR, "Dynamic cast to POSIX Proactor failed\n"), -1);
00106
00107 // Post myself.
00108 return posix_proactor->post_completion (this);
00109 }
|
|
|
Priority of the operation.
Implements ACE_Asynch_Result_Impl. Definition at line 87 of file POSIX_Asynch_IO.cpp. Referenced by ACE_POSIX_Asynch_Transmit_Handler::handle_read_file(), ACE_POSIX_Asynch_Transmit_Handler::handle_write_stream(), and ACE_POSIX_Asynch_Transmit_Handler::initiate_read_file().
00088 {
00089 return this->aio_reqprio;
00090 }
|
|
|
Simulate value to use in the post_completion ().
Definition at line 31 of file POSIX_Asynch_IO.cpp. Referenced by ACE_POSIX_AIOCB_Proactor::cancel_aio(), ACE_POSIX_Asynch_Connect::cancel_uncompleted(), ACE_POSIX_Asynch_Accept::cancel_uncompleted(), ACE_POSIX_Asynch_Connect::connect_i(), ACE_POSIX_Asynch_Connect::handle_close(), ACE_POSIX_Asynch_Connect::handle_output(), and ACE_POSIX_AIOCB_Proactor::start_deferred_aio().
00032 {
00033 this->bytes_transferred_= nbytes;
00034 }
|
|
|
Simulate error value to use in the post_completion ().
Definition at line 61 of file POSIX_Asynch_IO.cpp. Referenced by ACE_POSIX_AIOCB_Proactor::cancel_aio(), ACE_POSIX_Asynch_Connect::cancel_uncompleted(), ACE_POSIX_Asynch_Accept::cancel_uncompleted(), ACE_POSIX_Asynch_Connect::connect(), ACE_POSIX_Asynch_Connect::connect_i(), ACE_POSIX_Asynch_Connect::handle_close(), ACE_POSIX_Asynch_Accept::handle_input(), ACE_POSIX_Asynch_Connect::handle_output(), and ACE_POSIX_AIOCB_Proactor::start_deferred_aio().
00062 {
00063 this->error_=errcode;
00064 }
|
|
|
POSIX4 realtime signal number to be used for the operation. ranges from SIGRTMIN to SIGRTMAX. By default, SIGRTMIN is used to issue calls. Implements ACE_Asynch_Result_Impl. Definition at line 93 of file POSIX_Asynch_IO.cpp. Referenced by ACE_POSIX_Asynch_Transmit_Handler::handle_read_file(), ACE_POSIX_Asynch_Transmit_Handler::handle_write_stream(), ACE_POSIX_Asynch_Transmit_Handler::initiate_read_file(), and ACE_POSIX_AIOCB_Proactor::putq_result().
00094 {
00095 return this->aio_sigevent.sigev_signo;
00096 }
|
|
|
Did the operation succeed?
Implements ACE_Asynch_Result_Impl. Definition at line 43 of file POSIX_Asynch_IO.cpp. References success_.
00044 {
00045 return this->success_;
00046 }
|
|
|
ACT for this operation. We could use <aiocb::aio_sigevent.sigev_value.sival_ptr> for this. But it doesnot provide the constness, so this may be better. Definition at line 136 of file POSIX_Asynch_IO.h. Referenced by act(). |
|
|
Bytes transferred by this operation.
Definition at line 139 of file POSIX_Asynch_IO.h. |
|
|
ACT associated with handle.
Definition at line 145 of file POSIX_Asynch_IO.h. Referenced by completion_key(). |
|
|
Error if operation failed.
Definition at line 148 of file POSIX_Asynch_IO.h. |
|
|
Handler that will be called back.
Definition at line 128 of file POSIX_Asynch_IO.h. |
|
|
Success indicator.
Definition at line 142 of file POSIX_Asynch_IO.h. Referenced by success(). |
1.3.6