NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
multicast-udp-face.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26 #ifndef NFD_DAEMON_FACE_MULTICAST_UDP_FACE_HPP
27 #define NFD_DAEMON_FACE_MULTICAST_UDP_FACE_HPP
28 
29 #include "datagram-face.hpp"
30 
31 namespace nfd {
32 
37 class MulticastUdpFace : public DatagramFace<boost::asio::ip::udp, Multicast>
38 {
39 public:
43  MulticastUdpFace(const protocol::endpoint& multicastGroup, const FaceUri& localUri,
44  protocol::socket recvSocket, protocol::socket sendSocket);
45 
46  const protocol::endpoint&
47  getMulticastGroup() const;
48 
49  // from Face
50  void
51  sendInterest(const Interest& interest) DECL_OVERRIDE;
52 
53  void
54  sendData(const Data& data) DECL_OVERRIDE;
55 
56 private:
57  void
58  sendBlock(const Block& block);
59 
60 private:
61  protocol::endpoint m_multicastGroup;
62  protocol::socket m_sendSocket;
63 };
64 
65 } // namespace nfd
66 
67 #endif // NFD_DAEMON_FACE_MULTICAST_UDP_FACE_HPP
represents the underlying protocol and address used by a Face
Definition: face-uri.hpp:44
MulticastUdpFace(const protocol::endpoint &multicastGroup, const FaceUri &localUri, protocol::socket recvSocket, protocol::socket sendSocket)
Creates a UDP-based face for multicast communication.
Class representing a wire element of NDN-TLV packet format.
Definition: block.hpp:43
represents an Interest packet
Definition: interest.hpp:45
void sendData(const Data &data) 1
send a Data
#define DECL_OVERRIDE
expands to &#39;override&#39; if compiler supports this feature, otherwise expands to nothing ...
Definition: common.hpp:49
Copyright (c) 2011-2015 Regents of the University of California.
Definition: ndn-common.hpp:40
void sendInterest(const Interest &interest) 1
send an Interest
Implementation of Face abstraction that uses multicast UDP as underlying transport mechanism...
represents a Data packet
Definition: data.hpp:39
const protocol::endpoint & getMulticastGroup() const