Implementation of layer-2 (Ethernet) Ndn face. More...
#include <ndn-net-device-face.hpp>
Public Member Functions | |
NetDeviceFace (Ptr< Node > node, const Ptr< NetDevice > &netDevice) | |
Constructor. More... | |
virtual | ~NetDeviceFace () |
virtual void | sendInterest (const Interest &interest) |
virtual void | sendData (const Data &data) |
virtual void | close () |
Close the face. More... | |
Ptr< NetDevice > | GetNetDevice () const |
Get NetDevice associated with the face. More... | |
Public Member Functions inherited from nfd::Face | |
Face (const FaceUri &remoteUri, const FaceUri &localUri, bool isLocal=false) | |
virtual | ~Face () |
virtual void | sendInterest (const Interest &interest)=0 |
send an Interest More... | |
virtual void | sendData (const Data &data)=0 |
send a Data More... | |
FaceId | getId () const |
virtual void | setDescription (const std::string &description) |
Set the description. More... | |
virtual const std::string & | getDescription () const |
Get the description. More... | |
void | setMetric (uint64_t metric) |
uint64_t | getMetric () const |
bool | isLocal () const |
Get whether face is connected to a local app. More... | |
virtual bool | isMultiAccess () const |
Get whether packets sent this Face may reach multiple peers. More... | |
virtual bool | isUp () const |
Get whether underlying communication is up. More... | |
bool | isOnDemand () const |
Get whether face is created on demand or explicitly via FaceManagement protocol. More... | |
const FaceCounters & | getCounters () const |
const FaceUri & | getRemoteUri () const |
const FaceUri & | getLocalUri () const |
template<typename FaceTraits > | |
void | copyStatusTo (FaceTraits &traits) const |
virtual ndn::nfd::FaceStatus | getFaceStatus () const |
Additional Inherited Members | |
Public Attributes inherited from nfd::Face | |
EventEmitter< Interest > | onReceiveInterest |
fires when an Interest is received More... | |
EventEmitter< Data > | onReceiveData |
fires when a Data is received More... | |
EventEmitter< Interest > | onSendInterest |
fires when an Interest is sent out More... | |
EventEmitter< Data > | onSendData |
fires when a Data is sent out More... | |
EventEmitter< std::string > | onFail |
fires when face disconnects or fails to perform properly More... | |
Protected Member Functions inherited from nfd::Face | |
bool | decodeAndDispatchInput (const Block &element) |
FaceCounters & | getMutableCounters () |
void | setOnDemand (bool isOnDemand) |
void | fail (const std::string &reason) |
fail the face and raise onFail event if it's UP; otherwise do nothing More... | |
Implementation of layer-2 (Ethernet) Ndn face.
This class defines basic functionality of Ndn face. Face is core component responsible for actual delivery of data packet to and from Ndn stack
NdnNetDevice face is permanently associated with one NetDevice object and this object cannot be changed for the lifetime of the face
Definition at line 45 of file ndn-net-device-face.hpp.
ns3::ndn::NetDeviceFace::NetDeviceFace | ( | Ptr< Node > | node, |
const Ptr< NetDevice > & | netDevice | ||
) |
Constructor.
node | Node associated with the face |
netDevice | a smart pointer to NetDevice object to which this face will be associate |
Definition at line 42 of file ndn-net-device-face.cpp.
References ns3::ndn::L3Protocol::ETHERNET_FRAME_TYPE, and nfd::Face::setMetric().
|
virtual |
Definition at line 58 of file ndn-net-device-face.cpp.
References close().
|
virtual |
Close the face.
This terminates all communication on the face and cause onFail() method event to be invoked
Implements nfd::Face.
Definition at line 65 of file ndn-net-device-face.cpp.
References nfd::Face::fail().
Referenced by ~NetDeviceFace().
Ptr< NetDevice > ns3::ndn::NetDeviceFace::GetNetDevice | ( | ) | const |
Get NetDevice associated with the face.
Definition at line 72 of file ndn-net-device-face.cpp.
|
virtual |
Definition at line 104 of file ndn-net-device-face.cpp.
References nfd::Face::onSendData, and ns3::ndn::Convert::ToPacket().
|
virtual |
Definition at line 93 of file ndn-net-device-face.cpp.
References nfd::Face::onSendInterest, and ns3::ndn::Convert::ToPacket().