OpenSDN source code
NexthopDBServer Class Reference

#include <nexthop_server.h>

Collaboration diagram for NexthopDBServer:

Public Types

typedef std::map< uint64_t, NexthopDBClient::ClientPtrClientDB
 
typedef std::map< uint64_t, NexthopDBClient::ClientPtr >::iterator ClientIterator
 
typedef std::map< std::string, NexthopDBEntry::NexthopPtrNexthopDB
 
typedef std::map< std::string, NexthopDBEntry::NexthopPtr >::iterator NexthopIterator
 

Public Member Functions

 NexthopDBServer (boost::asio::io_context &io, const std::string &path)
 
NexthopDBEntry::NexthopPtr FindOrCreateNexthop (const std::string &str)
 
void FindAndRemoveNexthop (const std::string &str)
 
void Run ()
 
void EventHandler (UnixDomainSocketServer *, UnixDomainSocketSession *, UnixDomainSocketServer::Event)
 
void RemoveClient (uint64_t)
 

Private Member Functions

void AddClient (NexthopDBClient::ClientPtr cl)
 
void TriggerClients ()
 
void AddNexthop (NexthopDBEntry::NexthopPtr nh)
 
void RemoveNexthop (NexthopDBEntry::NexthopPtr nh)
 

Private Attributes

boost::asio::io_context & io_service_
 
std::string endpoint_path_
 
boost::scoped_ptr< UnixDomainSocketServer > io_server_
 
NexthopDB nexthop_table_
 
ClientDB client_table_
 
tbb::mutex mutex_
 

Detailed Description

Definition at line 25 of file nexthop_server.h.

Member Typedef Documentation

◆ ClientDB

Definition at line 29 of file nexthop_server.h.

◆ ClientIterator

typedef std::map<uint64_t, NexthopDBClient::ClientPtr>::iterator NexthopDBServer::ClientIterator

Definition at line 31 of file nexthop_server.h.

◆ NexthopDB

Definition at line 32 of file nexthop_server.h.

◆ NexthopIterator

typedef std::map<std::string, NexthopDBEntry::NexthopPtr>::iterator NexthopDBServer::NexthopIterator

Definition at line 34 of file nexthop_server.h.

Constructor & Destructor Documentation

◆ NexthopDBServer()

NexthopDBServer::NexthopDBServer ( boost::asio::io_context &  io,
const std::string &  path 
)

Definition at line 17 of file nexthop_server.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddClient()

void NexthopDBServer::AddClient ( NexthopDBClient::ClientPtr  cl)
private

Definition at line 51 of file nexthop_server.cc.

◆ AddNexthop()

void NexthopDBServer::AddNexthop ( NexthopDBEntry::NexthopPtr  nh)
private

Definition at line 86 of file nexthop_server.cc.

◆ EventHandler()

void NexthopDBServer::EventHandler ( UnixDomainSocketServer *  server,
UnixDomainSocketSession *  session,
UnixDomainSocketServer::Event  event 
)

Definition at line 34 of file nexthop_server.cc.

Here is the call graph for this function:

◆ FindAndRemoveNexthop()

void NexthopDBServer::FindAndRemoveNexthop ( const std::string &  str)

Definition at line 119 of file nexthop_server.cc.

Here is the call graph for this function:

◆ FindOrCreateNexthop()

NexthopDBEntry::NexthopPtr NexthopDBServer::FindOrCreateNexthop ( const std::string &  str)

Definition at line 95 of file nexthop_server.cc.

Here is the call graph for this function:

◆ RemoveClient()

void NexthopDBServer::RemoveClient ( uint64_t  session_id)

Definition at line 70 of file nexthop_server.cc.

◆ RemoveNexthop()

void NexthopDBServer::RemoveNexthop ( NexthopDBEntry::NexthopPtr  nh)
private

Definition at line 133 of file nexthop_server.cc.

◆ Run()

void NexthopDBServer::Run ( void  )

Definition at line 28 of file nexthop_server.cc.

◆ TriggerClients()

void NexthopDBServer::TriggerClients ( )
private

Definition at line 77 of file nexthop_server.cc.

Member Data Documentation

◆ client_table_

ClientDB NexthopDBServer::client_table_
private

Definition at line 55 of file nexthop_server.h.

◆ endpoint_path_

std::string NexthopDBServer::endpoint_path_
private

Definition at line 52 of file nexthop_server.h.

◆ io_server_

boost::scoped_ptr<UnixDomainSocketServer> NexthopDBServer::io_server_
private

Definition at line 53 of file nexthop_server.h.

◆ io_service_

boost::asio::io_context& NexthopDBServer::io_service_
private

Definition at line 51 of file nexthop_server.h.

◆ mutex_

tbb::mutex NexthopDBServer::mutex_
private

Definition at line 56 of file nexthop_server.h.

◆ nexthop_table_

NexthopDB NexthopDBServer::nexthop_table_
private

Definition at line 54 of file nexthop_server.h.


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