OpenDDS::DCPS::RequestedDeadlineWatchdog Class Reference

Watchdog responsible calling the DataReaderListener when the deadline period expires. More...

#include <RequestedDeadlineWatchdog.h>

Inheritance diagram for OpenDDS::DCPS::RequestedDeadlineWatchdog:

Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::RequestedDeadlineWatchdog:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Recursive_Thread_Mutex lock_type
typedef ACE_Reverse_Lock<
lock_type
reverse_lock_type

Public Member Functions

 RequestedDeadlineWatchdog (ACE_Reactor *reactor, lock_type &lock,::DDS::DeadlineQosPolicy qos, OpenDDS::DCPS::DataReaderImpl *reader_impl,::DDS::DataReader_ptr reader,::DDS::RequestedDeadlineMissedStatus &status, CORBA::Long &last_total_count)
 Constructor.
virtual ~RequestedDeadlineWatchdog ()
 Destructor.
virtual void execute ()
 Operation to be executed when the associated timer expires.
void signal ()

Private Attributes

lock_typelock_
 Lock for synchronization of status_ member.
reverse_lock_type reverse_lock_
 Reverse lock used for releasing the lock_ listener upcall.
bool signaled_
OpenDDS::DCPS::DataReaderImpl
*const 
reader_impl_
::DDS::DataReader_var reader_
::DDS::RequestedDeadlineMissedStatusstatus_
CORBA::Long & last_total_count_
 Last total_count when status was last checked.

Detailed Description

Watchdog responsible calling the DataReaderListener when the deadline period expires.

This watchdog object calls the on_requested_deadline_missed() listener callback when the configured finite deadline period expires.


Member Typedef Documentation

typedef ACE_Recursive_Thread_Mutex OpenDDS::DCPS::RequestedDeadlineWatchdog::lock_type

typedef ACE_Reverse_Lock<lock_type> OpenDDS::DCPS::RequestedDeadlineWatchdog::reverse_lock_type


Constructor & Destructor Documentation

OpenDDS::DCPS::RequestedDeadlineWatchdog::RequestedDeadlineWatchdog ( ACE_Reactor *  reactor,
lock_type lock,
::DDS::DeadlineQosPolicy  qos,
OpenDDS::DCPS::DataReaderImpl reader_impl,
::DDS::DataReader_ptr  reader,
::DDS::RequestedDeadlineMissedStatus status,
CORBA::Long &  last_total_count 
)

Constructor.

OpenDDS::DCPS::RequestedDeadlineWatchdog::~RequestedDeadlineWatchdog (  )  [virtual]

Destructor.


Member Function Documentation

void OpenDDS::DCPS::RequestedDeadlineWatchdog::execute (  )  [virtual]

Operation to be executed when the associated timer expires.

This Watchdog object updates the DDS::RequestedDeadlineMissed structure, and calls DataReaderListener::on_requested_deadline_missed().

Implements OpenDDS::DCPS::Watchdog.

void OpenDDS::DCPS::RequestedDeadlineWatchdog::signal (  ) 

"Pet the dog", i.e. prevent the Watchdog from executing on timeout.


Member Data Documentation

CORBA::Long& OpenDDS::DCPS::RequestedDeadlineWatchdog::last_total_count_ [private]

Last total_count when status was last checked.

lock_type& OpenDDS::DCPS::RequestedDeadlineWatchdog::lock_ [private]

Lock for synchronization of status_ member.

::DDS::DataReader_var OpenDDS::DCPS::RequestedDeadlineWatchdog::reader_ [private]

Reference to DataReader passed to listener when the deadline expires.

OpenDDS::DCPS::DataReaderImpl* const OpenDDS::DCPS::RequestedDeadlineWatchdog::reader_impl_ [private]

Pointer to the DataReaderImpl object from which the DataReaderListener is obtained.

reverse_lock_type OpenDDS::DCPS::RequestedDeadlineWatchdog::reverse_lock_ [private]

Reverse lock used for releasing the lock_ listener upcall.

bool OpenDDS::DCPS::RequestedDeadlineWatchdog::signaled_ [private]

Flag that indicates whether the watchdog has been signaled to not execute upon timer expiration. This flag is reset to false after each deadline timeout.

::DDS::RequestedDeadlineMissedStatus& OpenDDS::DCPS::RequestedDeadlineWatchdog::status_ [private]

Reference to the missed requested deadline status structure.


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 09:37:37 2008 for OpenDDS by  doxygen 1.4.7