ariba::utility::PeriodicBroadcast Class Reference

#include <source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h>

Inherits ariba::utility::BootstrapModule, and ariba::utility::Timer.

Collaboration diagram for ariba::utility::PeriodicBroadcast:

Collaboration graph
[legend]

List of all members.

Classes

class  Service
class  udp_server

Public Member Functions

 PeriodicBroadcast (BootstrapInformationCallback *_callback)
virtual ~PeriodicBroadcast ()
virtual void start ()
virtual void stop ()
virtual string getName ()
virtual string getInformation ()
virtual bool isFunctional ()
virtual void publishService (string name, string info1, string info2, string info3)
virtual void revokeService (string name)

Protected Member Functions

virtual void eventFunction ()

Private Types

typedef map< string, ServiceServiceList

Private Member Functions

 use_logging_h (PeriodicBroadcast)
void sendLocalServices ()
void updateRemoteServices ()

Static Private Member Functions

static void threadFunc (PeriodicBroadcast *obj)

Private Attributes

ServiceList localServices
boost::mutex localServicesMutex
ServiceList remoteServices
boost::mutex remoteServicesMutex
ServiceList newRemoteServices
boost::mutex newRemoteServicesMutex
boost::asio::io_service io_service
boost::thread * io_service_thread
udp_server server

Static Private Attributes

static const long timerinterval = 1
static const long servicetimeout = 3
static const unsigned int serverport_v4 = 5634
static const unsigned int serverport_v6 = 5636


Detailed Description

Definition at line 65 of file PeriodicBroadcast.h.


Member Typedef Documentation

Definition at line 172 of file PeriodicBroadcast.h.


Constructor & Destructor Documentation

ariba::utility::PeriodicBroadcast::PeriodicBroadcast ( BootstrapInformationCallback _callback  ) 

Definition at line 65 of file PeriodicBroadcast.cpp.

ariba::utility::PeriodicBroadcast::~PeriodicBroadcast (  )  [virtual]

Definition at line 70 of file PeriodicBroadcast.cpp.


Member Function Documentation

void ariba::utility::PeriodicBroadcast::eventFunction (  )  [protected, virtual]

Reimplemented from ariba::utility::Timer.

Definition at line 120 of file PeriodicBroadcast.cpp.

References sendLocalServices(), and updateRemoteServices().

string ariba::utility::PeriodicBroadcast::getInformation (  )  [virtual]

Implements ariba::utility::BootstrapModule.

Definition at line 81 of file PeriodicBroadcast.cpp.

string ariba::utility::PeriodicBroadcast::getName (  )  [virtual]

Implements ariba::utility::BootstrapModule.

Definition at line 77 of file PeriodicBroadcast.cpp.

bool ariba::utility::PeriodicBroadcast::isFunctional (  )  [virtual]

Implements ariba::utility::BootstrapModule.

Definition at line 85 of file PeriodicBroadcast.cpp.

void ariba::utility::PeriodicBroadcast::publishService ( string  name,
string  info1,
string  info2,
string  info3 
) [virtual]

Implements ariba::utility::BootstrapModule.

Definition at line 106 of file PeriodicBroadcast.cpp.

References localServices, and localServicesMutex.

void ariba::utility::PeriodicBroadcast::revokeService ( string  name  )  [virtual]

Implements ariba::utility::BootstrapModule.

Definition at line 113 of file PeriodicBroadcast.cpp.

References localServices, and localServicesMutex.

void ariba::utility::PeriodicBroadcast::sendLocalServices (  )  [private]

void ariba::utility::PeriodicBroadcast::start (  )  [virtual]

void ariba::utility::PeriodicBroadcast::stop (  )  [virtual]

Implements ariba::utility::BootstrapModule.

Definition at line 97 of file PeriodicBroadcast.cpp.

References io_service, and io_service_thread.

void ariba::utility::PeriodicBroadcast::threadFunc ( PeriodicBroadcast obj  )  [static, private]

Definition at line 73 of file PeriodicBroadcast.cpp.

References io_service.

Referenced by start().

void ariba::utility::PeriodicBroadcast::updateRemoteServices (  )  [private]

ariba::utility::PeriodicBroadcast::use_logging_h ( PeriodicBroadcast   )  [private]


Member Data Documentation

boost::asio::io_service ariba::utility::PeriodicBroadcast::io_service [private]

Definition at line 183 of file PeriodicBroadcast.h.

Referenced by stop(), and threadFunc().

Definition at line 184 of file PeriodicBroadcast.h.

Referenced by start(), and stop().

Definition at line 174 of file PeriodicBroadcast.h.

Referenced by publishService(), revokeService(), and sendLocalServices().

Definition at line 175 of file PeriodicBroadcast.h.

Referenced by publishService(), revokeService(), and sendLocalServices().

Definition at line 180 of file PeriodicBroadcast.h.

Referenced by updateRemoteServices().

Definition at line 181 of file PeriodicBroadcast.h.

Referenced by updateRemoteServices().

Definition at line 177 of file PeriodicBroadcast.h.

Referenced by updateRemoteServices().

Definition at line 178 of file PeriodicBroadcast.h.

Referenced by updateRemoteServices().

Definition at line 377 of file PeriodicBroadcast.h.

Referenced by sendLocalServices().

const unsigned int ariba::utility::PeriodicBroadcast::serverport_v4 = 5634 [static, private]

const unsigned int ariba::utility::PeriodicBroadcast::serverport_v6 = 5636 [static, private]

const long ariba::utility::PeriodicBroadcast::servicetimeout = 3 [static, private]

Definition at line 88 of file PeriodicBroadcast.h.

Referenced by updateRemoteServices().

const long ariba::utility::PeriodicBroadcast::timerinterval = 1 [static, private]

Definition at line 87 of file PeriodicBroadcast.h.

Referenced by start().


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

Generated on Fri Aug 14 23:39:34 2009 for Ariba by  doxygen 1.5.8