OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
process::ConnectionState Class Reference

#include <connection_info.h>

Collaboration diagram for process::ConnectionState:

Public Member Functions

void Update ()
 
void Update (ConnectionType::type ctype, const std::string &name, ConnectionStatus::type status, Endpoint server, std::string message)
 
void Update (ConnectionType::type ctype, const std::string &name, ConnectionStatus::type status, const std::vector< Endpoint > &servers, std::string message)
 
void Delete (ConnectionType::type ctype, const std::string &name)
 
std::vector< ConnectionInfo > GetInfos () const
 

Static Public Member Functions

static ConnectionStateGetInstance ()
 

Private Types

typedef boost::tuple
< ConnectionType::type,
std::string > 
ConnectionInfoKey
 
typedef std::map
< ConnectionInfoKey,
ConnectionInfo > 
ConnectionInfoMap
 
typedef boost::function< void(void)> SendUveCb
 

Private Member Functions

void UpdateInternal (ConnectionType::type ctype, const std::string &name, ConnectionStatus::type status, const std::vector< Endpoint > &servers, std::string message)
 
std::vector< ConnectionInfo > GetInfosUnlocked () const
 
 ConnectionState (SendUveCb send_uve_cb)
 

Static Private Member Functions

static void CreateInstance (SendUveCb send_uve_cb)
 

Private Attributes

tbb::mutex mutex_
 
ConnectionInfoMap connection_map_
 
SendUveCb send_uve_cb_
 

Static Private Attributes

static boost::scoped_ptr
< ConnectionState
instance_
 

Friends

class ConnectionStateManager
 

Detailed Description

Definition at line 44 of file connection_info.h.

Member Typedef Documentation

typedef boost::tuple<ConnectionType::type, std::string> process::ConnectionState::ConnectionInfoKey
private

Definition at line 64 of file connection_info.h.

typedef std::map<ConnectionInfoKey, ConnectionInfo> process::ConnectionState::ConnectionInfoMap
private

Definition at line 65 of file connection_info.h.

typedef boost::function<void (void)> process::ConnectionState::SendUveCb
private

Definition at line 66 of file connection_info.h.

Constructor & Destructor Documentation

process::ConnectionState::ConnectionState ( SendUveCb  send_uve_cb)
private

Definition at line 25 of file connection_info.cc.

Member Function Documentation

void process::ConnectionState::CreateInstance ( SendUveCb  send_uve_cb)
staticprivate

Definition at line 30 of file connection_info.cc.

Here is the call graph for this function:

void process::ConnectionState::Delete ( ConnectionType::type  ctype,
const std::string &  name 
)

Definition at line 109 of file connection_info.cc.

vector< ConnectionInfo > process::ConnectionState::GetInfos ( ) const

Definition at line 130 of file connection_info.cc.

Here is the call graph for this function:

vector< ConnectionInfo > process::ConnectionState::GetInfosUnlocked ( ) const
private

Definition at line 121 of file connection_info.cc.

ConnectionState * process::ConnectionState::GetInstance ( )
static

Definition at line 37 of file connection_info.cc.

Here is the call graph for this function:

void process::ConnectionState::Update ( )

Definition at line 46 of file connection_info.cc.

void process::ConnectionState::Update ( ConnectionType::type  ctype,
const std::string &  name,
ConnectionStatus::type  status,
Endpoint  server,
std::string  message 
)
void process::ConnectionState::Update ( ConnectionType::type  ctype,
const std::string &  name,
ConnectionStatus::type  status,
const std::vector< Endpoint > &  servers,
std::string  message 
)
void process::ConnectionState::UpdateInternal ( ConnectionType::type  ctype,
const std::string &  name,
ConnectionStatus::type  status,
const std::vector< Endpoint > &  servers,
std::string  message 
)
private

Definition at line 52 of file connection_info.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class ConnectionStateManager
friend

Definition at line 62 of file connection_info.h.

Member Data Documentation

ConnectionInfoMap process::ConnectionState::connection_map_
private

Definition at line 75 of file connection_info.h.

boost::scoped_ptr< ConnectionState > process::ConnectionState::instance_
staticprivate

Definition at line 73 of file connection_info.h.

tbb::mutex process::ConnectionState::mutex_
mutableprivate

Definition at line 74 of file connection_info.h.

SendUveCb process::ConnectionState::send_uve_cb_
private

Definition at line 76 of file connection_info.h.


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