diff options
author | Steve Huston <shuston@riverace.com> | 2002-04-25 19:50:17 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2002-04-25 19:50:17 +0000 |
commit | 9433b8603adb8b148277c2023f85ad3854334410 (patch) | |
tree | 23892818bb314bea6233b2cf61449e8777f800fa /ace/POSIX_Proactor.h | |
parent | a23705afe1174824e9076287f629d5be28dfe591 (diff) | |
download | ATCD-9433b8603adb8b148277c2023f85ad3854334410.tar.gz |
ChangeLogTag:Thu Apr 25 15:46:39 2002 Steve Huston <shuston@riverace.com>
Diffstat (limited to 'ace/POSIX_Proactor.h')
-rw-r--r-- | ace/POSIX_Proactor.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/ace/POSIX_Proactor.h b/ace/POSIX_Proactor.h index 8781218633f..e44ea545612 100644 --- a/ace/POSIX_Proactor.h +++ b/ace/POSIX_Proactor.h @@ -55,12 +55,14 @@ class ACE_Export ACE_POSIX_Proactor : public ACE_Proactor_Impl public: enum Proactor_Type { - PROACTOR_POSIX = 0, // base class type - PROACTOR_AIOCB = 1, - PROACTOR_SIG = 2, - PROACTOR_SUN = 3 + PROACTOR_POSIX = 0, // base class type + PROACTOR_AIOCB = 1, // aio_suspend() based + PROACTOR_SIG = 2, // signals notifications + PROACTOR_SUN = 3, // SUN specific aiowait() + PROACTOR_CB = 4 // callback notifications }; + enum SystemType // open for future extention { OS_UNDEFINED= 0x0000, @@ -281,6 +283,9 @@ public: /// Destructor. virtual ~ACE_POSIX_AIOCB_Proactor (void); + /// Close down the Proactor. + virtual int close (void); + /** * Dispatch a single set of events. If <wait_time> elapses before * any events occur, return 0. Return 1 on success i.e., when a @@ -342,10 +347,23 @@ protected: ACE_POSIX_AIOCB_Proactor (size_t nmaxop, ACE_POSIX_Proactor::Proactor_Type ptype); + /// Check AIO for completion, error and result status + /// Return: 1 - AIO completed , 0 - not completed yet + virtual int get_result_status ( ACE_POSIX_Asynch_Result* asynch_result, + int & error_status, + int & return_status ); /// Task to process pseudo-asynchronous operations ACE_Asynch_Pseudo_Task & get_asynch_pseudo_task(); + /// Create aiocb list + int create_result_aiocb_list (void); + + /// Call this method from derived class when virtual table is + /// built. + int delete_result_aiocb_list (void); + + /// Call these methods from derived class when virtual table is /// built. void create_notify_manager (void); |