NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nfd::LocalFace Class Reference

represents a face More...

#include <local-face.hpp>

Inheritance diagram for nfd::LocalFace:
Collaboration diagram for nfd::LocalFace:

Public Member Functions

 LocalFace (const FaceUri &remoteUri, const FaceUri &localUri)
 
bool isLocalControlHeaderEnabled () const
 get whether any LocalControlHeader feature is enabled More...
 
bool isLocalControlHeaderEnabled (LocalControlFeature feature) const
 get whether a specific LocalControlHeader feature is enabled More...
 
void setLocalControlHeaderFeature (LocalControlFeature feature, bool enabled=true)
 enable or disable a LocalControlHeader feature 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...
 
virtual void close ()=0
 Close the face. 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 FaceCountersgetCounters () const
 
const FaceUri & getRemoteUri () const
 
const FaceUri & getLocalUri () const
 
template<typename FaceTraits >
void copyStatusTo (FaceTraits &traits) const
 
virtual ndn::nfd::FaceStatus getFaceStatus () const
 

Static Public Attributes

static const size_t LOCAL_CONTROL_FEATURE_MAX = 3
 
static const size_t LOCAL_CONTROL_FEATURE_ANY = 0
 upper bound of LocalControlFeature enum More...
 

Protected Member Functions

bool decodeAndDispatchInput (const Block &element)
 any feature More...
 
bool isEmptyFilteredLocalControlHeader (const ndn::nfd::LocalControlHeader &header) const
 Check if LocalControlHeader needs to be included, taking into account both set parameters in supplied LocalControlHeader and features enabled on the local face. More...
 
template<class Packet >
Block filterAndEncodeLocalControlHeader (const Packet &packet)
 Create LocalControlHeader, considering enabled features. More...
 
- Protected Member Functions inherited from nfd::Face
bool decodeAndDispatchInput (const Block &element)
 
FaceCountersgetMutableCounters ()
 
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...
 

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...
 

Detailed Description

represents a face

Definition at line 39 of file local-face.hpp.

Constructor & Destructor Documentation

nfd::LocalFace::LocalFace ( const FaceUri &  remoteUri,
const FaceUri &  localUri 
)
inline

Definition at line 103 of file local-face.hpp.

Member Function Documentation

bool nfd::LocalFace::decodeAndDispatchInput ( const Block &  element)
inlineprotected

any feature

Decode block into Interest/Data, considering potential LocalControlHeader

If LocalControlHeader is present, the encoded data is filtered out, based on enabled features on the face.

Todo:
Uncomment and correct the following when we have more options in LocalControlHeader that apply for incoming Data packets (if ever)

Definition at line 139 of file local-face.hpp.

References isLocalControlHeaderEnabled(), nfd::Face::onReceiveData, and nfd::Face::onReceiveInterest.

template<class Packet >
Block nfd::LocalFace::filterAndEncodeLocalControlHeader ( const Packet &  packet)
inlineprotected

Create LocalControlHeader, considering enabled features.

Definition at line 206 of file local-face.hpp.

References isLocalControlHeaderEnabled().

bool nfd::LocalFace::isEmptyFilteredLocalControlHeader ( const ndn::nfd::LocalControlHeader &  header) const
inlineprotected

Check if LocalControlHeader needs to be included, taking into account both set parameters in supplied LocalControlHeader and features enabled on the local face.

Definition at line 192 of file local-face.hpp.

References isLocalControlHeaderEnabled().

bool nfd::LocalFace::isLocalControlHeaderEnabled ( ) const
inline

get whether any LocalControlHeader feature is enabled

Returns
true if any feature is enabled.

Definition at line 110 of file local-face.hpp.

References LOCAL_CONTROL_FEATURE_ANY.

Referenced by decodeAndDispatchInput(), filterAndEncodeLocalControlHeader(), and isEmptyFilteredLocalControlHeader().

bool nfd::LocalFace::isLocalControlHeaderEnabled ( LocalControlFeature  feature) const
inline

get whether a specific LocalControlHeader feature is enabled

Parameters
featureThe feature.
Returns
true if the specified feature is enabled.

Definition at line 116 of file local-face.hpp.

void nfd::LocalFace::setLocalControlHeaderFeature ( LocalControlFeature  feature,
bool  enabled = true 
)
inline

enable or disable a LocalControlHeader feature

Parameters
featureThe feature. Cannot be LOCAL_CONTROL_FEATURE_ANY or LOCAL_CONTROL_FEATURE_MAX

Definition at line 124 of file local-face.hpp.

References LOCAL_CONTROL_FEATURE_ANY.

Member Data Documentation

const size_t nfd::LocalFace::LOCAL_CONTROL_FEATURE_ANY = 0
static

upper bound of LocalControlFeature enum

Definition at line 70 of file local-face.hpp.

Referenced by isLocalControlHeaderEnabled(), and setLocalControlHeaderFeature().

const size_t nfd::LocalFace::LOCAL_CONTROL_FEATURE_MAX = 3
static

Definition at line 69 of file local-face.hpp.


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