26 #ifndef NFD_DAEMON_FACE_MULTICAST_UDP_TRANSPORT_HPP 27 #define NFD_DAEMON_FACE_MULTICAST_UDP_TRANSPORT_HPP 31 #include <ndn-cxx/net/network-interface.hpp> 52 class Error :
public std::runtime_error
57 :
std::runtime_error(what)
70 protocol::socket&& recvSocket,
71 protocol::socket&& sendSocket,
72 ndn::nfd::LinkType linkType);
79 const protocol::endpoint& multicastGroup,
80 const boost::asio::ip::address& localAddress,
81 const shared_ptr<const ndn::net::NetworkInterface>& netif =
nullptr);
85 const protocol::endpoint& localEndpoint,
86 const shared_ptr<const ndn::net::NetworkInterface>& netif =
nullptr,
87 bool enableLoopback =
false);
97 protocol::endpoint m_multicastGroup;
98 protocol::socket m_sendSocket;
104 #endif // NFD_DAEMON_FACE_MULTICAST_UDP_TRANSPORT_HPP #define NFD_LOG_MEMBER_DECL_SPECIALIZED(cls)
static void openTxSocket(protocol::socket &sock, const protocol::endpoint &localEndpoint, const shared_ptr< const ndn::net::NetworkInterface > &netif=nullptr, bool enableLoopback=false)
MulticastUdpTransport(const protocol::endpoint &multicastGroup, protocol::socket &&recvSocket, protocol::socket &&sendSocket, ndn::nfd::LinkType linkType)
Creates a UDP-based transport for multicast communication.
stores a packet along with the remote endpoint
Error(const std::string &what)
ssize_t getSendQueueLength() final
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
static EndpointId makeEndpointId(const typename protocol::endpoint &ep)
uint64_t EndpointId
identifies an endpoint on the link
A Transport that communicates on a UDP multicast group.
Implements Transport for datagram-based protocols.
static void openRxSocket(protocol::socket &sock, const protocol::endpoint &multicastGroup, const boost::asio::ip::address &localAddress, const shared_ptr< const ndn::net::NetworkInterface > &netif=nullptr)