5 #ifndef SRC_BFD_UDP_CONNECTION_H_
6 #define SRC_BFD_UDP_CONNECTION_H_
10 #include <boost/optional.hpp>
17 typedef boost::function<void(boost::asio::ip::udp::endpoint remote_endpoint,
18 const boost::asio::const_buffer &recv_buffer,
19 std::size_t bytes_transferred,
20 const boost::system::error_code& error)>
29 const boost::asio::ip::udp::endpoint &local_endpoint,
30 const boost::asio::ip::udp::endpoint &remote_endpoint,
32 const boost::asio::mutable_buffer &send,
int pktSize);
33 void SendPacket(boost::asio::ip::address remoteHost,
46 void HandleReceive(
const boost::asio::const_buffer &recv_buffer,
47 boost::asio::ip::udp::endpoint remote_endpoint,
48 std::size_t bytes_transferred,
49 const boost::system::error_code &error);
69 #endif // SRC_BFD_UDP_CONNECTION_H_
UDPRecvServer(UDPConnectionManager *parent, EventManager *evm, int recvPort)
void RegisterCallback(RecvCallback callback)
UDPConnectionManager(EventManager *evm, int recvPort=kSingleHop, int remotePort=kSingleHop)
UDPConnectionManager * parent_
void HandleReceive(const boost::asio::const_buffer &recv_buffer, boost::asio::ip::udp::endpoint remote_endpoint, std::size_t bytes_transferred, const boost::system::error_code &error)
BFD::UDPConnectionManager::UDPCommunicator * udpSend_
virtual void SendPacket(const boost::asio::ip::udp::endpoint &local_endpoint, const boost::asio::ip::udp::endpoint &remote_endpoint, const SessionIndex &session_index, const boost::asio::mutable_buffer &send, int pktSize)
BFD::UDPConnectionManager::UDPRecvServer * udpRecv_
UDPCommunicator(EventManager *evm, int remotePort)
virtual Server * GetServer() const
boost::optional< RecvCallback > callback_
virtual void SetServer(Server *server)
void RegisterCallback(RecvCallback callback)
boost::function< void(boost::asio::ip::udp::endpoint remote_endpoint, const boost::asio::const_buffer &recv_buffer, std::size_t bytes_transferred, const boost::system::error_code &error)> RecvCallback
virtual void NotifyStateChange(const SessionKey &key, const bool &up)