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
55 using std::runtime_error::runtime_error;
66 protocol::socket&& recvSocket,
67 protocol::socket&& sendSocket,
68 ndn::nfd::LinkType linkType);
75 const protocol::endpoint& multicastGroup,
76 const boost::asio::ip::address& localAddress,
77 const shared_ptr<const ndn::net::NetworkInterface>& netif =
nullptr);
81 const protocol::endpoint& localEndpoint,
82 const shared_ptr<const ndn::net::NetworkInterface>& netif =
nullptr,
83 bool enableLoopback =
false);
87 doSend(
const Block& packet)
final;
93 protocol::endpoint m_multicastGroup;
94 protocol::socket m_sendSocket;
100 #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.
uint64_t EndpointId
Identifies a remote endpoint on the link.
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)
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)