5 #ifndef _AGENT_NHS_NEXTHOP_SERVER_H_
6 #define _AGENT_NHS_NEXTHOP_SERVER_H_
8 #include <boost/array.hpp>
9 #include <boost/asio.hpp>
10 #include <boost/asio/signal_set.hpp>
11 #include <boost/bind.hpp>
12 #include <boost/enable_shared_from_this.hpp>
13 #include <boost/scoped_ptr.hpp>
14 #include <boost/shared_ptr.hpp>
20 #include <tbb/mutex.h>
29 typedef std::map <uint64_t, NexthopDBClient::ClientPtr>
ClientDB;
30 typedef std::map <uint64_t, NexthopDBClient::ClientPtr>::iterator
32 typedef std::map <std::string, NexthopDBEntry::NexthopPtr>
NexthopDB;
33 typedef std::map <std::string, NexthopDBEntry::NexthopPtr>::iterator
41 void EventHandler(UnixDomainSocketServer *, UnixDomainSocketSession *,
boost::shared_ptr< NexthopDBClient > ClientPtr
boost::shared_ptr< NexthopDBEntry > NexthopPtr
boost::scoped_ptr< UnixDomainSocketServer > io_server_
void FindAndRemoveNexthop(const std::string &str)
NexthopDBServer(boost::asio::io_context &io, const std::string &path)
std::map< uint64_t, NexthopDBClient::ClientPtr >::iterator ClientIterator
boost::asio::io_context & io_service_
void EventHandler(UnixDomainSocketServer *, UnixDomainSocketSession *, UnixDomainSocketServer::Event)
std::string endpoint_path_
std::map< std::string, NexthopDBEntry::NexthopPtr >::iterator NexthopIterator
void RemoveNexthop(NexthopDBEntry::NexthopPtr nh)
void AddNexthop(NexthopDBEntry::NexthopPtr nh)
NexthopDBEntry::NexthopPtr FindOrCreateNexthop(const std::string &str)
void RemoveClient(uint64_t)
std::map< uint64_t, NexthopDBClient::ClientPtr > ClientDB
void AddClient(NexthopDBClient::ClientPtr cl)
std::map< std::string, NexthopDBEntry::NexthopPtr > NexthopDB