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 *,
void AddClient(NexthopDBClient::ClientPtr cl)
boost::scoped_ptr< UnixDomainSocketServer > io_server_
boost::shared_ptr< NexthopDBEntry > NexthopPtr
void FindAndRemoveNexthop(const std::string &str)
std::map< std::string, NexthopDBEntry::NexthopPtr > NexthopDB
void AddNexthop(NexthopDBEntry::NexthopPtr nh)
boost::shared_ptr< NexthopDBClient > ClientPtr
void EventHandler(UnixDomainSocketServer *, UnixDomainSocketSession *, UnixDomainSocketServer::Event)
std::map< uint64_t, NexthopDBClient::ClientPtr >::iterator ClientIterator
NexthopDBEntry::NexthopPtr FindOrCreateNexthop(const std::string &str)
void RemoveNexthop(NexthopDBEntry::NexthopPtr nh)
std::map< uint64_t, NexthopDBClient::ClientPtr > ClientDB
std::string endpoint_path_
boost::asio::io_context & io_service_
void RemoveClient(uint64_t)
std::map< std::string, NexthopDBEntry::NexthopPtr >::iterator NexthopIterator
NexthopDBServer(boost::asio::io_context &io, const std::string &path)