TAO_RTEvent 4.0.0
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_ECG_Reactive_ConsumerEC_Control Class Reference

Consumer event channel control. More...

#include <ECG_Reactive_ConsumerEC_Control.h>

Inheritance diagram for TAO_ECG_Reactive_ConsumerEC_Control:
Inheritance graph
[legend]
Collaboration diagram for TAO_ECG_Reactive_ConsumerEC_Control:
Collaboration graph
[legend]

Public Member Functions

 TAO_ECG_Reactive_ConsumerEC_Control (const ACE_Time_Value &rate, const ACE_Time_Value &timeout, TAO_EC_Gateway_IIOP *gateway, CORBA::ORB_ptr orb)
 
virtual ~TAO_ECG_Reactive_ConsumerEC_Control ()
 Destructor.
 
void handle_timeout (const ACE_Time_Value &tv, const void *arg)
 Receive the timeout from the adapter.
 
virtual int activate ()
 
virtual int shutdown ()
 
virtual void event_channel_not_exist (TAO_EC_Gateway_IIOP *gateway)
 
virtual void system_exception (TAO_EC_Gateway_IIOP *gateway, CORBA::SystemException &)
 
- Public Member Functions inherited from TAO_ECG_ConsumerEC_Control
 TAO_ECG_ConsumerEC_Control ()
 Constructor.
 
virtual ~TAO_ECG_ConsumerEC_Control ()
 Destructor.
 

Private Member Functions

void query_eventchannel ()
 

Private Attributes

ACE_Time_Value rate_
 The polling rate.
 
ACE_Time_Value timeout_
 The polling timeout.
 
TAO_ECG_Reactive_ConsumerEC_Control_Adapter adapter_
 The Adapter for the reactor events.
 
TAO_EC_Gateway_IIOPgateway_
 The gateway.
 
CORBA::ORB_var orb_
 The ORB.
 
CORBA::PolicyCurrent_var policy_current_
 To control the timeout policy in the thread.
 
CORBA::PolicyList policy_list_
 Precomputed policy list to the set timeout.
 
ACE_Reactorreactor_
 The ORB reactor.
 

Detailed Description

Consumer event channel control.

Defines the interface for the consumer event channel control strategy. This strategy handles misbehaving or failing consumer event channels.

Constructor & Destructor Documentation

◆ TAO_ECG_Reactive_ConsumerEC_Control()

TAO_ECG_Reactive_ConsumerEC_Control::TAO_ECG_Reactive_ConsumerEC_Control ( const ACE_Time_Value & rate,
const ACE_Time_Value & timeout,
TAO_EC_Gateway_IIOP * gateway,
CORBA::ORB_ptr orb )

Constructor. It does not assume ownership of the event_channel parameter.

◆ ~TAO_ECG_Reactive_ConsumerEC_Control()

TAO_ECG_Reactive_ConsumerEC_Control::~TAO_ECG_Reactive_ConsumerEC_Control ( )
virtual

Destructor.

Member Function Documentation

◆ activate()

int TAO_ECG_Reactive_ConsumerEC_Control::activate ( )
virtual

Activate any internal threads or timers used to poll the state of the event channel.

Reimplemented from TAO_ECG_ConsumerEC_Control.

◆ event_channel_not_exist()

void TAO_ECG_Reactive_ConsumerEC_Control::event_channel_not_exist ( TAO_EC_Gateway_IIOP * gateway)
virtual

When pushing an event to the event channel a CORBA::OBJECT_NOT_EXIST exception was raised. The only interpretation is that the object has been destroyed. The strategy has to (at the very least), reclaim all the resources attached to that object.

Reimplemented from TAO_ECG_ConsumerEC_Control.

◆ handle_timeout()

void TAO_ECG_Reactive_ConsumerEC_Control::handle_timeout ( const ACE_Time_Value & tv,
const void * arg )

Receive the timeout from the adapter.

◆ query_eventchannel()

void TAO_ECG_Reactive_ConsumerEC_Control::query_eventchannel ( )
private

Check if the consumers still exists. It is a helper method for handle_timeout() to isolate the exceptions.

◆ shutdown()

int TAO_ECG_Reactive_ConsumerEC_Control::shutdown ( )
virtual

Shutdown any internal threads or timers used to poll the state of the event channel.

Reimplemented from TAO_ECG_ConsumerEC_Control.

◆ system_exception()

void TAO_ECG_Reactive_ConsumerEC_Control::system_exception ( TAO_EC_Gateway_IIOP * gateway,
CORBA::SystemException &  )
virtual

Some system exception was raised while trying to contact the event channel

Reimplemented from TAO_ECG_ConsumerEC_Control.

Member Data Documentation

◆ adapter_

TAO_ECG_Reactive_ConsumerEC_Control_Adapter TAO_ECG_Reactive_ConsumerEC_Control::adapter_
private

The Adapter for the reactor events.

◆ gateway_

TAO_EC_Gateway_IIOP* TAO_ECG_Reactive_ConsumerEC_Control::gateway_
private

The gateway.

◆ orb_

CORBA::ORB_var TAO_ECG_Reactive_ConsumerEC_Control::orb_
private

The ORB.

◆ policy_current_

CORBA::PolicyCurrent_var TAO_ECG_Reactive_ConsumerEC_Control::policy_current_
private

To control the timeout policy in the thread.

◆ policy_list_

CORBA::PolicyList TAO_ECG_Reactive_ConsumerEC_Control::policy_list_
private

Precomputed policy list to the set timeout.

◆ rate_

ACE_Time_Value TAO_ECG_Reactive_ConsumerEC_Control::rate_
private

The polling rate.

◆ reactor_

ACE_Reactor* TAO_ECG_Reactive_ConsumerEC_Control::reactor_
private

The ORB reactor.

◆ timeout_

ACE_Time_Value TAO_ECG_Reactive_ConsumerEC_Control::timeout_
private

The polling timeout.


The documentation for this class was generated from the following files: