a very simple watchdog More...
#include <watchdog.h>
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 | |
TimerImpl * | m_impl |
EventId | m_event |
Time | m_end |
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.
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.
void ns3::Watchdog::Expire | ( | void | ) | [private] |
Definition at line 47 of file watchdog.cc.
References ns3::TimerImpl::Invoke(), m_end, m_event, m_impl, ns3::Now(), ns3::Simulator::Now(), and ns3::Simulator::Schedule().
Referenced by Ping().
void ns3::Watchdog::Ping | ( | Time | delay | ) |
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().
void ns3::Watchdog::SetArguments | ( | T1 | a1, | |
T2 | a2, | |||
T3 | a3, | |||
T4 | a4, | |||
T5 | a5, | |||
T6 | a6 | |||
) | [inline] |
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().
void ns3::Watchdog::SetArguments | ( | T1 | a1, | |
T2 | a2, | |||
T3 | a3, | |||
T4 | a4, | |||
T5 | a5 | |||
) | [inline] |
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().
void ns3::Watchdog::SetArguments | ( | T1 | a1, | |
T2 | a2, | |||
T3 | a3, | |||
T4 | a4 | |||
) | [inline] |
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().
void ns3::Watchdog::SetArguments | ( | T1 | a1, | |
T2 | a2, | |||
T3 | a3 | |||
) | [inline] |
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().
void ns3::Watchdog::SetArguments | ( | T1 | a1, | |
T2 | a2 | |||
) | [inline] |
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().
void ns3::Watchdog::SetArguments | ( | T1 | a1 | ) | [inline] |
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().
void ns3::Watchdog::SetFunction | ( | MEM_PTR | memPtr, | |
OBJ_PTR | objPtr | |||
) | [inline] |
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().
void ns3::Watchdog::SetFunction | ( | FN | fn | ) | [inline] |
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().
Time ns3::Watchdog::m_end [private] |
Definition at line 132 of file watchdog.h.
EventId ns3::Watchdog::m_event [private] |
Definition at line 131 of file watchdog.h.
TimerImpl* ns3::Watchdog::m_impl [private] |
Definition at line 130 of file watchdog.h.
Referenced by Expire(), SetArguments(), SetFunction(), and ~Watchdog().