#include <EC_Timeout_Generator.h>
Inheritance diagram for TAO_EC_Timeout_Adapter:
Public Member Functions | |
TAO_EC_Timeout_Adapter (void) | |
Default construction. | |
Private Member Functions | |
virtual int | handle_timeout (const ACE_Time_Value &tv, const void *act) |
Casts to EC_Filter and dispatches an event to it. |
ACE timer queues (including the reactor) use Event_Handlers to dispatch events, but we want to receive them in EC_Filters, this class is and adaptor for that purpose.
Definition at line 81 of file EC_Timeout_Generator.h.
|
Default construction.
Definition at line 8 of file EC_Timeout_Generator.i.
00009 { 00010 } |
|
Casts to EC_Filter and dispatches an event to it.
Reimplemented from ACE_Event_Handler. Definition at line 24 of file EC_Timeout_Generator.cpp. References ACE_CATCHANY, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY_CHECK, ACE_TRY_NEW_ENV, RtecEventComm::EventSet, RtecEventComm::Event::header, TAO_EC_Timeout_Filter::push_to_proxy(), TAO_EC_Timeout_Filter::qos_info(), and TAO_EC_Timeout_Filter::type().
00026 { 00027 // ACE_DEBUG ((LM_DEBUG, 00028 // "TAO_EC_Timeout_Adapter::handle_timeout -" 00029 // " expire at %d:%d\n", 00030 // tv.sec (), tv.usec ())); 00031 00032 TAO_EC_Timeout_Filter *filter = 00033 static_cast<TAO_EC_Timeout_Filter*> (const_cast<void*> (vp)); 00034 00035 if (filter == 0) 00036 return 0; 00037 00038 ACE_TRY_NEW_ENV 00039 { 00040 RtecEventComm::Event e; 00041 e.header.type = filter->type (); 00042 e.header.source = 0; 00043 00044 RtecEventComm::EventSet single_event (1, 1, &e, 0); 00045 00046 TAO_EC_QOS_Info qos_info = filter->qos_info (); 00047 filter->push_to_proxy (single_event, 00048 qos_info 00049 ACE_ENV_ARG_PARAMETER); 00050 ACE_TRY_CHECK; 00051 } 00052 ACE_CATCHANY 00053 { 00054 return -1; 00055 } 00056 ACE_ENDTRY; 00057 00058 return 0; 00059 } |