ClientControl. More...
#include <Validate_Client_Task.h>


Public Types | |
| typedef TAO_Condition < TAO_SYNCH_MUTEX > | CONDITION |
Public Member Functions | |
| TAO_Notify_validate_client_Task (const ACE_Time_Value &delay, const ACE_Time_Value &interval, TAO_Notify_EventChannelFactory *ecf) | |
| virtual | ~TAO_Notify_validate_client_Task (void) |
| destructor... | |
| virtual int | svc (void) |
| void | shutdown (void) |
Private Attributes | |
| ACE_Time_Value | delay_ |
| The delay of first time validate. | |
| ACE_Time_Value | interval_ |
| The validate interval. | |
| TAO_Notify_EventChannelFactory * | ecf_ |
| The event channel. | |
| CONDITION | condition_ |
| bool | shutdown_ |
ClientControl.
Defines the interface for the consumer control strategy. This strategy handles misbehaving or failing consumers. = MEMORY MANAGMENT = LOCKING = TODO
Definition at line 44 of file Validate_Client_Task.h.
| typedef TAO_Condition<TAO_SYNCH_MUTEX> TAO_Notify_validate_client_Task::CONDITION |
Definition at line 49 of file Validate_Client_Task.h.
| TAO_Notify_validate_client_Task::TAO_Notify_validate_client_Task | ( | const ACE_Time_Value & | delay, | |
| const ACE_Time_Value & | interval, | |||
| TAO_Notify_EventChannelFactory * | ecf | |||
| ) |
Constructor. It does not assume ownership of the <event_channel> parameter.
Definition at line 15 of file Validate_Client_Task.cpp.
| TAO_Notify_validate_client_Task::~TAO_Notify_validate_client_Task | ( | void | ) | [virtual] |
| void TAO_Notify_validate_client_Task::shutdown | ( | void | ) |
Definition at line 78 of file Validate_Client_Task.cpp.
{
{
ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, *(this->condition_.mutex()));
this->shutdown_ = true;
this->condition_.signal ();
}
this->wait ();
}
| int TAO_Notify_validate_client_Task::svc | ( | void | ) | [virtual] |
Reimplemented from ACE_Task_Base.
Definition at line 37 of file Validate_Client_Task.cpp.
{
ACE_Time_Value due = ACE_OS::gettimeofday () + this->delay_;
while (! this->shutdown_)
{
{
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, *(this->condition_.mutex()), -1);
this->condition_.wait (&due);
}
if (this->shutdown_)
break;
try
{
if (TAO_debug_level > 0)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%P|%t)%T TAO_Notify_validate_client_Task::svc validate start\n")));
}
this->ecf_->validate ();
if (TAO_debug_level > 0)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%P|%t)%T TAO_Notify_validate_client_Task::svc validate end\n")));
}
}
catch (...)
{
// Ignore all exceptions
}
if (this->interval_ == ACE_Time_Value::zero)
break;
due = ACE_OS::gettimeofday () + this->interval_;
}
return 0;
}
Definition at line 74 of file Validate_Client_Task.h.
The delay of first time validate.
Definition at line 66 of file Validate_Client_Task.h.
The event channel.
Definition at line 72 of file Validate_Client_Task.h.
The validate interval.
Definition at line 69 of file Validate_Client_Task.h.
bool TAO_Notify_validate_client_Task::shutdown_ [private] |
Definition at line 76 of file Validate_Client_Task.h.
1.7.0