#include <POSIX_Proactor.h>
Inheritance diagram for ACE_POSIX_SIG_Proactor:
Public Methods | |
ACE_POSIX_SIG_Proactor (size_t nmaxop=ACE_AIO_DEFAULT_SIZE) | |
virtual Proactor_Type | get_impl_type (void) |
ACE_POSIX_SIG_Proactor (const sigset_t mask_set, size_t nmaxop=ACE_AIO_DEFAULT_SIZE) | |
virtual | ~ACE_POSIX_SIG_Proactor (void) |
Destructor. More... | |
virtual int | handle_events (ACE_Time_Value &wait_time) |
virtual int | handle_events (void) |
virtual ACE_Asynch_Result_Impl * | create_asynch_timer (ACE_Handler &handler, const void *act, const ACE_Time_Value &tv, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) |
Post a result to the completion port of the Proactor. now it is implemented in base ACE_POSIX_AIOCB_Proactor classvirtual int post_completion (ACE_POSIX_Asynch_Result *result);. More... | |
Protected Methods | |
int | setup_signal_handler (int signal_number) const |
To setup the handler for a real-time signbal. More... | |
int | mask_signals (const sigset_t *signals) const |
To mask all the specified signals in a thread. More... | |
virtual int | handle_events (u_long milli_seconds) |
virtual int | allocate_aio_slot (ACE_POSIX_Asynch_Result *result) |
Find free slot to store result and aiocb pointer. More... | |
virtual int | notify_completion (int sig_num) |
Notify queue of "post_completed" ACE_POSIX_Asynch_Results called from post_completion method. More... | |
Protected Attributes | |
sigset_t | RT_completion_signals_ |
Friends | |
class | ACE_POSIX_SIG_Asynch_Operation |
|
This constructor masks only the <ACE_SIGRTMIN> real-time signal. Only this signal should be used to issue asynchronous operations using this Proctor. |
|
This constructor should be used to tell the Proactor to mask and wait for the real-time signals specified in this set. Only these signals should be used by the asynchronous operations when they use this Proactor. |
|
Destructor.
|
|
Find free slot to store result and aiocb pointer. These signals are used for completion notification by the Proactor. The signals specified while issueing <Asynch Operation>s are stored here in this set. These signals are masked for a thread when it calls the Proactor::handle_events. Reimplemented from ACE_POSIX_AIOCB_Proactor. |
|
Post a result to the completion port of the Proactor. now it is implemented in base ACE_POSIX_AIOCB_Proactor classvirtual int post_completion (ACE_POSIX_Asynch_Result *result);. If <signal_number> is -1, check with the Proactor and use one of the signals that is present in the mask set (i.e. the signals for which the Proactor will be waiting) of the Proactor. If there are more than one signal, the higher numbered signal will be chosen. Reimplemented from ACE_POSIX_Proactor. |
|
Reimplemented from ACE_POSIX_AIOCB_Proactor. |
|
Dispatch a single set of events. If <milli_seconds> elapses before any events occur, return 0. Return 1 if a completion is dispatched. Return -1 on errors. Reimplemented from ACE_POSIX_AIOCB_Proactor. |
|
Block indefinitely until at least one event is dispatched. Dispatch a single set of events. If <wait_time> elapses before any events occur, return 0. Return 1 on success i.e., when a completion is dispatched, non-zero (-1) on errors and errno is set accordingly. Reimplemented from ACE_POSIX_AIOCB_Proactor. |
|
Dispatch a single set of events. If <wait_time> elapses before any events occur, return 0. Return 1 on success i.e., when a completion is dispatched, non-zero (-1) on errors and errno is set accordingly. Reimplemented from ACE_POSIX_AIOCB_Proactor. |
|
To mask all the specified signals in a thread.
|
|
Notify queue of "post_completed" ACE_POSIX_Asynch_Results called from post_completion method.
Reimplemented from ACE_POSIX_AIOCB_Proactor. |
|
To setup the handler for a real-time signbal.
|
|
This class does the registering of Asynch Operations with the Proactor which is necessary in the SIG strategy, because we need to store the signal number. |
|
|