NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::MulticastUdpFace Class Reference

Implementation of Face abstraction that uses multicast UDP as underlying transport mechanism. More...

#include <multicast-udp-face.hpp>

Inheritance diagram for nfd::MulticastUdpFace:
Collaboration diagram for nfd::MulticastUdpFace:

Public Member Functions

 MulticastUdpFace (const protocol::endpoint &multicastGroup, const FaceUri &localUri, protocol::socket recvSocket, protocol::socket sendSocket)
 Creates a UDP-based face for multicast communication. More...
 
const protocol::endpoint & getMulticastGroup () const
 
void sendInterest (const Interest &interest) 1
 send an Interest More...
 
void sendData (const Data &data) 1
 send a Data More...
 
- Public Member Functions inherited from nfd::DatagramFace< boost::asio::ip::udp, Multicast >
 DatagramFace (const FaceUri &remoteUri, const FaceUri &localUri, typename protocol::socket socket)
 Construct datagram face. More...
 
void sendInterest (const Interest &interest) 1
 send an Interest More...
 
void sendData (const Data &data) 1
 send a Data More...
 
void close () 1
 Close the face. More...
 
void receiveDatagram (const uint8_t *buffer, size_t nBytesReceived, const boost::system::error_code &error)
 
- Public Member Functions inherited from nfd::Face
 Face (const FaceUri &remoteUri, const FaceUri &localUri, bool isLocal=false, bool isMultiAccess=false)
 
virtual ~Face ()
 
FaceId getId () const
 
const std::string & getDescription () const
 Get the description. More...
 
void setDescription (const std::string &description)
 Set the face description. More...
 
void setMetric (uint64_t metric)
 
uint64_t getMetric () const
 
bool isLocal () const
 Get whether face is connected to a local app. More...
 
ndn::nfd::FacePersistency getPersistency () const
 Get the persistency setting. More...
 
bool isMultiAccess () const
 Get whether packets sent by this face may reach multiple peers. More...
 
virtual bool isUp () const
 Get whether underlying communication is up. More...
 
const FaceCountersgetCounters () const
 
const FaceUrigetRemoteUri () const
 
const FaceUrigetLocalUri () const
 
template<typename FaceTraits >
void copyStatusTo (FaceTraits &traits) const
 
virtual ndn::nfd::FaceStatus getFaceStatus () const
 

Additional Inherited Members

- Public Types inherited from nfd::DatagramFace< boost::asio::ip::udp, Multicast >
typedef boost::asio::ip::udp protocol
 
- Public Attributes inherited from nfd::Face
signal::Signal< Face, InterestonReceiveInterest
 fires when an Interest is received More...
 
signal::Signal< Face, DataonReceiveData
 fires when a Data is received More...
 
signal::Signal< Face, InterestonSendInterest
 fires when an Interest is sent out More...
 
signal::Signal< Face, DataonSendData
 fires when a Data is sent out More...
 
signal::Signal< Face, std::string > onFail
 fires when face disconnects or fails to perform properly More...
 
- Protected Member Functions inherited from nfd::DatagramFace< boost::asio::ip::udp, Multicast >
void processErrorCode (const boost::system::error_code &error)
 
void handleSend (const boost::system::error_code &error, size_t nBytesSent, const Block &payload)
 
void handleReceive (const boost::system::error_code &error, size_t nBytesReceived)
 
void keepFaceAliveUntilAllHandlersExecuted (const shared_ptr< Face > &face)
 
void closeSocket ()
 
bool hasBeenUsedRecently () const
 
void resetRecentUsage ()
 Set m_hasBeenUsedRecently to false. More...
 
 NFD_LOG_INCLASS_DECLARE ()
 
- Protected Member Functions inherited from nfd::Face
void setPersistency (ndn::nfd::FacePersistency persistency)
 
bool decodeAndDispatchInput (const Block &element)
 
void fail (const std::string &reason)
 fail the face and raise onFail event if it's UP; otherwise do nothing More...
 
FaceCountersgetMutableCounters ()
 
- Protected Attributes inherited from nfd::DatagramFace< boost::asio::ip::udp, Multicast >
protocol::socket m_socket
 

Detailed Description

Implementation of Face abstraction that uses multicast UDP as underlying transport mechanism.

Definition at line 37 of file multicast-udp-face.hpp.

Constructor & Destructor Documentation

◆ MulticastUdpFace()

nfd::MulticastUdpFace::MulticastUdpFace ( const protocol::endpoint &  multicastGroup,
const FaceUri localUri,
protocol::socket  recvSocket,
protocol::socket  sendSocket 
)

Creates a UDP-based face for multicast communication.

Definition at line 34 of file multicast-udp-face.cpp.

Member Function Documentation

◆ getMulticastGroup()

const MulticastUdpFace::protocol::endpoint & nfd::MulticastUdpFace::getMulticastGroup ( ) const

Definition at line 44 of file multicast-udp-face.cpp.

◆ sendInterest()

void nfd::MulticastUdpFace::sendInterest ( const Interest interest)
virtual

send an Interest

Implements nfd::Face.

Definition at line 50 of file multicast-udp-face.cpp.

References emitSignal, NFD_LOG_FACE_TRACE, nfd::Face::onSendInterest, and ndn::Interest::wireEncode().

◆ sendData()

void nfd::MulticastUdpFace::sendData ( const Data data)
virtual

send a Data

Implements nfd::Face.

Definition at line 58 of file multicast-udp-face.cpp.

References emitSignal, NFD_LOG_FACE_TRACE, nfd::Face::onSendData, and ndn::Data::wireEncode().


The documentation for this class was generated from the following files: