ns3::Watchdog Class Reference
[Simulator]

a very simple watchdog More...

#include <watchdog.h>

Collaboration diagram for ns3::Watchdog:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Watchdog ()
 ~Watchdog ()
void Ping (Time delay)
template<typename FN >
void SetFunction (FN fn)
template<typename MEM_PTR , typename OBJ_PTR >
void SetFunction (MEM_PTR memPtr, OBJ_PTR objPtr)
template<typename T1 >
void SetArguments (T1 a1)
template<typename T1 , typename T2 >
void SetArguments (T1 a1, T2 a2)
template<typename T1 , typename T2 , typename T3 >
void SetArguments (T1 a1, T2 a2, T3 a3)
template<typename T1 , typename T2 , typename T3 , typename T4 >
void SetArguments (T1 a1, T2 a2, T3 a3, T4 a4)
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
void SetArguments (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
void SetArguments (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)

Private Member Functions

void Expire (void)

Private Attributes

TimerImplm_impl
EventId m_event
Time m_end

Detailed Description

a very simple watchdog

If you don't ping the watchdog sufficiently often, it triggers its listening function.

Definition at line 37 of file watchdog.h.


Constructor & Destructor Documentation

ns3::Watchdog::Watchdog (  ) 

Definition at line 23 of file watchdog.cc.

ns3::Watchdog::~Watchdog (  ) 

Definition at line 29 of file watchdog.cc.

References m_impl.


Member Function Documentation

void ns3::Watchdog::Expire ( void   )  [private]
void ns3::Watchdog::Ping ( Time  delay  ) 
Parameters:
delay the watchdog delay

After a call to this method, the watchdog will not be triggered until the delay specified has been expired. This operation is sometimes named "re-arming" a watchdog in some operating systems.

Definition at line 35 of file watchdog.cc.

References Expire(), ns3::EventId::IsRunning(), m_end, m_event, ns3::Now(), and ns3::Simulator::Schedule().

Referenced by ns3::WatchdogTests::RunTests().

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
void ns3::Watchdog::SetArguments ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) [inline]
Parameters:
a1 the first argument
a2 the second argument
a3 the third argument
a4 the fourth argument
a5 the fifth argument
a6 the sixth argument

Store these arguments in this Timer for later use by Timer::Schedule.

Definition at line 218 of file watchdog.h.

References m_impl, NS_FATAL_ERROR, and ns3::TimerImpl::SetArgs().

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
void ns3::Watchdog::SetArguments ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) [inline]
Parameters:
a1 the first argument
a2 the second argument
a3 the third argument
a4 the fourth argument
a5 the fifth argument

Store these arguments in this Timer for later use by Timer::Schedule.

Definition at line 206 of file watchdog.h.

References m_impl, NS_FATAL_ERROR, and ns3::TimerImpl::SetArgs().

template<typename T1 , typename T2 , typename T3 , typename T4 >
void ns3::Watchdog::SetArguments ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
) [inline]
Parameters:
a1 the first argument
a2 the second argument
a3 the third argument
a4 the fourth argument

Store these arguments in this Timer for later use by Timer::Schedule.

Definition at line 194 of file watchdog.h.

References m_impl, NS_FATAL_ERROR, and ns3::TimerImpl::SetArgs().

template<typename T1 , typename T2 , typename T3 >
void ns3::Watchdog::SetArguments ( T1  a1,
T2  a2,
T3  a3 
) [inline]
Parameters:
a1 the first argument
a2 the second argument
a3 the third argument

Store these arguments in this Timer for later use by Timer::Schedule.

Definition at line 182 of file watchdog.h.

References m_impl, NS_FATAL_ERROR, and ns3::TimerImpl::SetArgs().

template<typename T1 , typename T2 >
void ns3::Watchdog::SetArguments ( T1  a1,
T2  a2 
) [inline]
Parameters:
a1 the first argument
a2 the second argument

Store these arguments in this Timer for later use by Timer::Schedule.

Definition at line 170 of file watchdog.h.

References m_impl, NS_FATAL_ERROR, and ns3::TimerImpl::SetArgs().

template<typename T1 >
void ns3::Watchdog::SetArguments ( T1  a1  )  [inline]
Parameters:
a1 the first argument

Store this argument in this Timer for later use by Timer::Schedule.

Definition at line 159 of file watchdog.h.

References m_impl, NS_FATAL_ERROR, and ns3::TimerImpl::SetArgs().

Referenced by ns3::WatchdogTests::RunTests().

template<typename MEM_PTR , typename OBJ_PTR >
void ns3::Watchdog::SetFunction ( MEM_PTR  memPtr,
OBJ_PTR  objPtr 
) [inline]
Parameters:
memPtr the member function pointer
objPtr the pointer to object

Store this function and object in this Timer for later use by Timer::Schedule.

Definition at line 151 of file watchdog.h.

References m_impl, and ns3::MakeTimerImpl().

template<typename FN >
void ns3::Watchdog::SetFunction ( FN  fn  )  [inline]
Parameters:
fn the function

Store this function in this Timer for later use by Timer::Schedule.

Definition at line 144 of file watchdog.h.

References m_impl, and ns3::MakeTimerImpl().

Referenced by ns3::WatchdogTests::RunTests().


Member Data Documentation

Definition at line 132 of file watchdog.h.

Referenced by Expire(), and Ping().

Definition at line 131 of file watchdog.h.

Referenced by Expire(), and Ping().

Definition at line 130 of file watchdog.h.

Referenced by Expire(), SetArguments(), SetFunction(), and ~Watchdog().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:12:19 2009 for NS-3 by  doxygen 1.6.3