nfd::face::Face Class Referencefinal

generalization of a network interface More...

#include <daemon/face/face.hpp>

+ Inheritance diagram for nfd::face::Face:
+ Collaboration diagram for nfd::face::Face:

Public Member Functions

 Face (unique_ptr< LinkService > service, unique_ptr< Transport > transport)
void close ()
 request the face to be closed More...
const FaceCountersgetCounters () const
time::steady_clock::TimePoint getExpirationTime () const
FaceId getId () const
LinkServicegetLinkService () const
ndn::nfd::LinkType getLinkType () const
FaceUri getLocalUri () const
ndn::nfd::FacePersistency getPersistency () const
FaceUri getRemoteUri () const
ndn::nfd::FaceScope getScope () const
FaceState getState () const
TransportgetTransport () const
void sendData (const Data &data, const EndpointId &endpointId)
 send Data to endpointId More...
void sendInterest (const Interest &interest, const EndpointId &endpointId)
 send Interest to endpointId More...
void sendNack (const lp::Nack &nack, const EndpointId &endpointId)
 send Nack to endpointId More...
void setId (FaceId id)
 sets face ID More...
void setPersistency (ndn::nfd::FacePersistency persistency)
 changes face persistency setting More...

Public Attributes

signal::Signal< LinkService, Data, EndpointId > & afterReceiveData
 signals on Data received More...
signal::Signal< LinkService, Interest, EndpointId > & afterReceiveInterest
 signals on Interest received More...
signal::Signal< LinkService, lp::Nack, EndpointId > & afterReceiveNack
 signals on Nack received More...
signal::Signal< Transport, FaceState, FaceState > & afterStateChange
 signals after face state changed More...
signal::Signal< LinkService, Interest > & onDroppedInterest
 signals on Interest dropped by reliability system for exceeding allowed number of retx More...

Detailed Description

generalization of a network interface

A face generalizes a network interface. It provides best-effort network-layer packet delivery services on a physical interface, an overlay tunnel, or a link to a local application.

A face combines two parts: LinkService and Transport. Transport is the lower part, which provides best-effort TLV block deliveries. LinkService is the upper part, which translates between network-layer packets and TLV blocks, and may provide additional services such as fragmentation and reassembly.

Definition at line 52 of file face.hpp.

Constructor & Destructor Documentation

◆ Face()

nfd::face::Face::Face ( unique_ptr< LinkService service,
unique_ptr< Transport transport 

Definition at line 31 of file face.cpp.

Member Function Documentation

◆ close()

void nfd::face::Face::close ( )

request the face to be closed

This operation is effective only if face is in UP or DOWN state, otherwise it has no effect. The face changes state to CLOSING, and performs cleanup procedure. The state will be changed to CLOSED when cleanup is complete, which may happen synchronously or asynchronously.

the face must not be deallocated until its state changes to CLOSED

Definition at line 267 of file face.hpp.

◆ getCounters()

const FaceCounters & nfd::face::Face::getCounters ( ) const

Definition at line 273 of file face.hpp.

◆ getExpirationTime()

time::steady_clock::TimePoint nfd::face::Face::getExpirationTime ( ) const
expiration time of the face
Return values
time::steady_clock::TimePoint::max()the face has an indefinite lifetime

Definition at line 261 of file face.hpp.

◆ getId()

FaceId nfd::face::Face::getId ( ) const
face ID

Definition at line 207 of file face.hpp.

◆ getLinkService()

LinkService * nfd::face::Face::getLinkService ( ) const

Definition at line 177 of file face.hpp.

◆ getLinkType()

ndn::nfd::LinkType nfd::face::Face::getLinkType ( ) const
whether face is point-to-point or multi-access

Definition at line 249 of file face.hpp.

◆ getLocalUri()

FaceUri nfd::face::Face::getLocalUri ( ) const
a FaceUri representing local endpoint

Definition at line 219 of file face.hpp.

◆ getPersistency()

ndn::nfd::FacePersistency nfd::face::Face::getPersistency ( ) const
face persistency setting

Definition at line 237 of file face.hpp.

◆ getRemoteUri()

FaceUri nfd::face::Face::getRemoteUri ( ) const
a FaceUri representing remote endpoint

Definition at line 225 of file face.hpp.

◆ getScope()

ndn::nfd::FaceScope nfd::face::Face::getScope ( ) const
whether face is local or non-local for scope control purpose

Definition at line 231 of file face.hpp.

◆ getState()

FaceState nfd::face::Face::getState ( ) const
face state

Definition at line 255 of file face.hpp.

◆ getTransport()

Transport * nfd::face::Face::getTransport ( ) const

Definition at line 183 of file face.hpp.

◆ sendData()

void nfd::face::Face::sendData ( const Data &  data,
const EndpointId endpointId 

send Data to endpointId

Definition at line 195 of file face.hpp.

◆ sendInterest()

void nfd::face::Face::sendInterest ( const Interest &  interest,
const EndpointId endpointId 

send Interest to endpointId

Definition at line 189 of file face.hpp.

◆ sendNack()

void nfd::face::Face::sendNack ( const lp::Nack &  nack,
const EndpointId endpointId 

send Nack to endpointId

Definition at line 201 of file face.hpp.

◆ setId()

void nfd::face::Face::setId ( FaceId  id)

sets face ID

Normally, this should only be invoked by FaceTable.

Definition at line 213 of file face.hpp.

◆ setPersistency()

void nfd::face::Face::setPersistency ( ndn::nfd::FacePersistency  persistency)

changes face persistency setting

Definition at line 243 of file face.hpp.

Member Data Documentation

◆ afterReceiveData

signal::Signal<LinkService, Data, EndpointId>& nfd::face::Face::afterReceiveData

signals on Data received

Definition at line 85 of file face.hpp.

◆ afterReceiveInterest

signal::Signal<LinkService, Interest, EndpointId>& nfd::face::Face::afterReceiveInterest

signals on Interest received

Definition at line 81 of file face.hpp.

◆ afterReceiveNack

signal::Signal<LinkService, lp::Nack, EndpointId>& nfd::face::Face::afterReceiveNack

signals on Nack received

Definition at line 89 of file face.hpp.

◆ afterStateChange

signal::Signal<Transport, FaceState, FaceState>& nfd::face::Face::afterStateChange

signals after face state changed

Definition at line 145 of file face.hpp.

◆ onDroppedInterest

signal::Signal<LinkService, Interest>& nfd::face::Face::onDroppedInterest

signals on Interest dropped by reliability system for exceeding allowed number of retx

Definition at line 93 of file face.hpp.