5 #ifndef _AGENT_NHS_NEXTHOP_SERVER_H_
6 #define _AGENT_NHS_NEXTHOP_SERVER_H_
12 #include <boost/array.hpp>
13 #include <boost/asio.hpp>
14 #include <boost/asio/signal_set.hpp>
15 #include <boost/bind/bind.hpp>
16 #include <boost/enable_shared_from_this.hpp>
17 #include <boost/scoped_ptr.hpp>
18 #include <boost/shared_ptr.hpp>
23 using namespace boost::placeholders;
32 typedef std::map <uint64_t, NexthopDBClient::ClientPtr>
ClientDB;
33 typedef std::map <uint64_t, NexthopDBClient::ClientPtr>::iterator
35 typedef std::map <std::string, NexthopDBEntry::NexthopPtr>
NexthopDB;
36 typedef std::map <std::string, NexthopDBEntry::NexthopPtr>::iterator
42 void FindAndRemoveNexthop(
const std::string &str);
44 void EventHandler(UnixDomainSocketServer *, UnixDomainSocketSession *,
46 void RemoveClient(uint64_t);
50 void TriggerClients();
boost::shared_ptr< NexthopDBClient > ClientPtr
boost::shared_ptr< NexthopDBEntry > NexthopPtr
boost::scoped_ptr< UnixDomainSocketServer > io_server_
std::map< uint64_t, NexthopDBClient::ClientPtr >::iterator ClientIterator
boost::asio::io_context & io_service_
std::string endpoint_path_
std::map< std::string, NexthopDBEntry::NexthopPtr >::iterator NexthopIterator
std::map< uint64_t, NexthopDBClient::ClientPtr > ClientDB
std::map< std::string, NexthopDBEntry::NexthopPtr > NexthopDB