TwiceAsNice  2019-02-18
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Nice::ServiceWatchdog Class Reference

This class initiates a reconnection to a property tree service after it has detected unreachability of this service. More...

#include <ServiceWatchdog.h>

Inheritance diagram for Nice::ServiceWatchdog:
Inheritance graph
Collaboration diagram for Nice::ServiceWatchdog:
Collaboration graph

Classes

struct  ConnectionWatchdogDispatcherFunc
 

Public Member Functions

 ServiceWatchdog ()
 
virtual ~ServiceWatchdog ()
 
virtual bool isServiceReachable ()
 
virtual Nice::ServiceWatchdogListenerPtr addListener (ServiceWatchdogListenerPtr _listener)
 
virtual void removeListener (ServiceWatchdogListenerPtr _listener)
 
void notifyAllListeners (bool _reachable)
 
 ServiceWatchdog ()
 
virtual ~ServiceWatchdog ()
 
virtual bool isServiceReachable ()
 
virtual Nice::ServiceWatchdogListenerPtr addListener (ServiceWatchdogListenerPtr _listener)
 
virtual void removeListener (ServiceWatchdogListenerPtr _listener)
 
void notifyAllListeners (bool _reachable)
 
 ServiceWatchdog (const std::string &nodePath, Nice::ServiceUnreachabilityDetectorPtr detector, Nice::ServiceReconnectorPtr reconnector, Nice::HeartbeatActorPtr actor, Nice::PropertyPtr heartbeatProperty)
 
virtual ~ServiceWatchdog ()
 
virtual void watch ()
 
virtual bool isServiceReachable ()
 
virtual void addListener (Nice::ServiceWatchdogListenerPtr listener)
 
virtual void removeListener (Nice::ServiceWatchdogListenerPtr listener)
 

Static Public Member Functions

static void initialize ()
 
static void deinitialize ()
 
static void initialize ()
 
static void deinitialize ()
 

Private Types

typedef IceUtil::Handle< ConnectionWatchdogDispatcherFuncConnectionWatchdogDispatcherFuncPtr
 
typedef IceUtil::Handle< ConnectionWatchdogDispatcherFuncConnectionWatchdogDispatcherFuncPtr
 

Private Member Functions

void notifyAllListeners (bool _reachable)
 

Private Attributes

std::vector< ServiceWatchdogListenerPtrm_listeners
 
Nice::Mutex m_mutex
 
bool m_reachable
 
Nice::ServiceUnreachabilityDetectorPtr detector_
 
Nice::ServiceReconnectorPtr reconnector_
 
std::vector< Nice::ServiceWatchdogListenerPtrlisteners_
 
bool latestReportedReachabilityState_
 
Nice::HeartbeatActorPtr heartbeatActor_
 
Nice::PropertyPtr heartbeatProperty_
 
Nice::Mutex mutex_
 
std::string nodePath_
 

Detailed Description

This class initiates a reconnection to a property tree service after it has detected unreachability of this service.

Member Typedef Documentation

◆ ConnectionWatchdogDispatcherFuncPtr [1/2]

◆ ConnectionWatchdogDispatcherFuncPtr [2/2]

Constructor & Destructor Documentation

◆ ServiceWatchdog() [1/3]

Nice::ServiceWatchdog::ServiceWatchdog ( )
inline

◆ ~ServiceWatchdog() [1/3]

Nice::ServiceWatchdog::~ServiceWatchdog ( )
virtual
Note
overridden

◆ ServiceWatchdog() [2/3]

Nice::ServiceWatchdog::ServiceWatchdog ( )
inline

◆ ~ServiceWatchdog() [2/3]

virtual Nice::ServiceWatchdog::~ServiceWatchdog ( )
virtual
Note
overridden

◆ ServiceWatchdog() [3/3]

Nice::ServiceWatchdog::ServiceWatchdog ( const std::string &  nodePath,
Nice::ServiceUnreachabilityDetectorPtr  detector,
Nice::ServiceReconnectorPtr  reconnector,
Nice::HeartbeatActorPtr  actor,
Nice::PropertyPtr  heartbeatProperty 
)

◆ ~ServiceWatchdog() [3/3]

virtual Nice::ServiceWatchdog::~ServiceWatchdog ( )
virtual
Note
overridden

Member Function Documentation

◆ addListener() [1/3]

virtual void Nice::ServiceWatchdog::addListener ( Nice::ServiceWatchdogListenerPtr  listener)
virtual
Note
overridden
thread-safe

◆ addListener() [2/3]

virtual Nice::ServiceWatchdogListenerPtr Nice::ServiceWatchdog::addListener ( ServiceWatchdogListenerPtr  _listener)
virtual
Note
overridden
thread-safe

◆ addListener() [3/3]

void Nice::ServiceWatchdog::addListener ( Nice::ServiceWatchdogListenerPtr  _listener)
virtual
Note
overridden
thread-safe

◆ deinitialize() [1/2]

static void Nice::ServiceWatchdog::deinitialize ( )
static

◆ deinitialize() [2/2]

void Nice::ServiceWatchdog::deinitialize ( )
static

◆ initialize() [1/2]

void Nice::ServiceWatchdog::initialize ( )
static

◆ initialize() [2/2]

static void Nice::ServiceWatchdog::initialize ( )
static

◆ isServiceReachable() [1/3]

virtual bool Nice::ServiceWatchdog::isServiceReachable ( )
virtual
Note
overridden
thread-safe

◆ isServiceReachable() [2/3]

bool Nice::ServiceWatchdog::isServiceReachable ( )
virtual
Note
overridden
thread-safe

◆ isServiceReachable() [3/3]

virtual bool Nice::ServiceWatchdog::isServiceReachable ( )
virtual
Note
overridden
thread-safe

◆ notifyAllListeners() [1/3]

void Nice::ServiceWatchdog::notifyAllListeners ( bool  _reachable)
private

◆ notifyAllListeners() [2/3]

void Nice::ServiceWatchdog::notifyAllListeners ( bool  _reachable)

◆ notifyAllListeners() [3/3]

void Nice::ServiceWatchdog::notifyAllListeners ( bool  _reachable)

◆ removeListener() [1/3]

virtual void Nice::ServiceWatchdog::removeListener ( Nice::ServiceWatchdogListenerPtr  listener)
virtual
Note
overridden
thread-safe

◆ removeListener() [2/3]

void Nice::ServiceWatchdog::removeListener ( Nice::ServiceWatchdogListenerPtr  _listener)
virtual
Note
overridden
thread-safe

◆ removeListener() [3/3]

virtual void Nice::ServiceWatchdog::removeListener ( ServiceWatchdogListenerPtr  _listener)
virtual
Note
overridden
thread-safe

◆ watch()

void Nice::ServiceWatchdog::watch ( )
virtual
Note
overridden
thread-safe

Member Data Documentation

◆ detector_

Nice::ServiceUnreachabilityDetectorPtr Nice::ServiceWatchdog::detector_
private

◆ heartbeatActor_

Nice::HeartbeatActorPtr Nice::ServiceWatchdog::heartbeatActor_
private

◆ heartbeatProperty_

Nice::PropertyPtr Nice::ServiceWatchdog::heartbeatProperty_
private

◆ latestReportedReachabilityState_

bool Nice::ServiceWatchdog::latestReportedReachabilityState_
private

◆ listeners_

std::vector<Nice::ServiceWatchdogListenerPtr> Nice::ServiceWatchdog::listeners_
private

◆ m_listeners

std::vector< ServiceWatchdogListenerPtr > Nice::ServiceWatchdog::m_listeners
private

◆ m_mutex

Nice::Mutex Nice::ServiceWatchdog::m_mutex
private

◆ m_reachable

bool Nice::ServiceWatchdog::m_reachable
private

◆ mutex_

Nice::Mutex Nice::ServiceWatchdog::mutex_
private

◆ nodePath_

std::string Nice::ServiceWatchdog::nodePath_
private

◆ reconnector_

Nice::ServiceReconnectorPtr Nice::ServiceWatchdog::reconnector_
private

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