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


Public Member Functions | |
| int | open (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor=0) |
| int | cancel (void) |
| Check the documentation for ACE_Asynch_Operation::cancel. | |
| ACE_Proactor * | proactor (void) const |
| Return the underlying proactor. | |
| ACE_POSIX_Proactor * | posix_proactor (void) const |
| Return the underlying Proactor implementation. | |
Protected Member Functions | |
| ACE_POSIX_Asynch_Operation (ACE_POSIX_Proactor *posix_proactor) | |
| Contructor. | |
| virtual | ~ACE_POSIX_Asynch_Operation (void) |
| Destructor. | |
Protected Attributes | |
| ACE_POSIX_Proactor * | posix_proactor_ |
| ACE_Proactor * | proactor_ |
| Proactor that this Asynch IO will be registered with. | |
| ACE_Handler::Proxy_Ptr | handler_proxy_ |
| Handler that will receive the callback. | |
| ACE_HANDLE | handle_ |
| I/O handle used for reading. | |
Definition at line 158 of file POSIX_Asynch_IO.h.
|
|
Contructor.
Definition at line 208 of file POSIX_Asynch_IO.cpp.
00209 : posix_proactor_ (posix_proactor), 00210 handle_ (ACE_INVALID_HANDLE) 00211 { 00212 } |
|
|
Destructor.
Definition at line 204 of file POSIX_Asynch_IO.cpp.
00205 {
00206 }
|
|
|
Check the documentation for ACE_Asynch_Operation::cancel.
Implements ACE_Asynch_Operation_Impl. Reimplemented in ACE_POSIX_Asynch_Accept, and ACE_POSIX_Asynch_Connect. Definition at line 185 of file POSIX_Asynch_IO.cpp. References ACE_POSIX_Proactor::cancel_aio(), and posix_proactor_. Referenced by ACE_AIOCB_Notify_Pipe_Manager::~ACE_AIOCB_Notify_Pipe_Manager().
00186 {
00187 if (!posix_proactor_)
00188 return -1;
00189 return posix_proactor_->cancel_aio (this->handle_);
00190 }
|
|
||||||||||||||||||||
|
Initializes the factory with information which will be used with each asynchronous call. If (handle == ACE_INVALID_HANDLE), Implements ACE_Asynch_Operation_Impl. Reimplemented in ACE_POSIX_Asynch_Accept, and ACE_POSIX_Asynch_Connect. Definition at line 146 of file POSIX_Asynch_IO.cpp. References ACE_Handler::handle(), ACE_Proactor::instance(), and ACE_Handler::Proxy_Ptr. Referenced by ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager(), ACE_POSIX_Asynch_Connect::open(), ACE_POSIX_Asynch_Accept::open(), and ACE_POSIX_Asynch_Transmit_Handler::transmit().
00150 {
00151 this->proactor_ = proactor;
00152 this->handler_proxy_ = handler_proxy;
00153 this->handle_ = handle;
00154
00155 // Grab the handle from the <handler> if <handle> is invalid
00156 if (this->handle_ == ACE_INVALID_HANDLE)
00157 {
00158 ACE_Handler *handler = handler_proxy.get ()->handler ();
00159 if (handler != 0)
00160 this->handle_ = handler->handle ();
00161 }
00162 if (this->handle_ == ACE_INVALID_HANDLE)
00163 return -1;
00164
00165 #if 0
00166 // @@ If <proactor> is 0, let us not bother about getting this
00167 // Proactor, we have already got the specific implementation
00168 // Proactor.
00169
00170 // If no proactor was passed
00171 if (this->proactor_ == 0)
00172 {
00173 // Grab the proactor from the <Service_Config> if
00174 // <handler->proactor> is zero
00175 this->proactor_ = this->handler_->proactor ();
00176 if (this->proactor_ == 0)
00177 this->proactor_ = ACE_Proactor::instance();
00178 }
00179 #endif /* 0 */
00180
00181 return 0;
00182 }
|
|
|
Return the underlying Proactor implementation.
Definition at line 199 of file POSIX_Asynch_IO.cpp. References posix_proactor_. Referenced by ACE_POSIX_Asynch_Accept::accept(), ACE_POSIX_Asynch_Connect::cancel(), ACE_POSIX_Asynch_Accept::cancel(), ACE_POSIX_Asynch_Accept::cancel_uncompleted(), ACE_POSIX_Asynch_Connect::close(), ACE_POSIX_Asynch_Accept::close(), ACE_POSIX_Asynch_Connect::connect(), ACE_POSIX_Asynch_Connect::handle_close(), ACE_POSIX_Asynch_Accept::handle_input(), ACE_POSIX_Asynch_Connect::handle_output(), ACE_POSIX_Asynch_Accept::open(), ACE_POSIX_Asynch_Connect::post_result(), ACE_POSIX_Asynch_Read_File::read(), ACE_POSIX_Asynch_Read_Stream::read(), ACE_POSIX_Asynch_Read_Dgram::recv(), ACE_POSIX_Asynch_Write_Dgram::send(), ACE_POSIX_Asynch_Write_File::write(), and ACE_POSIX_Asynch_Write_Stream::write().
00200 {
00201 return this->posix_proactor_;
00202 }
|
|
|
Return the underlying proactor.
Implements ACE_Asynch_Operation_Impl. Definition at line 193 of file POSIX_Asynch_IO.cpp.
00194 {
00195 return this->proactor_;
00196 }
|
|
|
I/O handle used for reading.
Definition at line 216 of file POSIX_Asynch_IO.h. |
|
|
Handler that will receive the callback.
Definition at line 213 of file POSIX_Asynch_IO.h. |
|
|
It is easy to get this specific implementation proactor here, since it is the one that creates the correct POSIX_Asynch_* objects. We can use this to get to the implementation proactor directly. Definition at line 207 of file POSIX_Asynch_IO.h. Referenced by cancel(), and posix_proactor(). |
|
|
Proactor that this Asynch IO will be registered with.
Definition at line 210 of file POSIX_Asynch_IO.h. |
1.3.6