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

implementation detail of Face More...

#include <face-impl.hpp>

Inheritance diagram for face::Face::Impl:
Collaboration diagram for face::Face::Impl:

Public Types

using PendingInterestTable = ContainerWithOnEmptySignal< shared_ptr< PendingInterest > >
 
using InterestFilterTable = std::list< shared_ptr< InterestFilterRecord > >
 
using RegisteredPrefixTable = ContainerWithOnEmptySignal< shared_ptr< RegisteredPrefix > >
 

Public Member Functions

 Impl (Face &face)
 
void asyncExpressInterest (shared_ptr< const Interest > interest, const DataCallback &afterSatisfied, const NackCallback &afterNacked, const TimeoutCallback &afterTimeout)
 
void asyncRemovePendingInterest (const PendingInterestId *pendingInterestId)
 
void asyncRemoveAllPendingInterests ()
 
bool satisfyPendingInterests (const Data &data)
 
optional< lp::NacknackPendingInterests (const lp::Nack &nack)
 
void asyncSetInterestFilter (shared_ptr< InterestFilterRecord > interestFilterRecord)
 
void asyncUnsetInterestFilter (const InterestFilterId *interestFilterId)
 
void processIncomingInterest (shared_ptr< const Interest > interest)
 
void dispatchInterest (PendingInterest &entry, const Interest &interest)
 
void asyncPutData (const Data &data)
 
void asyncPutNack (const lp::Nack &nack)
 
const RegisteredPrefixId * registerPrefix (const Name &prefix, shared_ptr< InterestFilterRecord > filter, const RegisterPrefixSuccessCallback &onSuccess, const RegisterPrefixFailureCallback &onFailure, uint64_t flags, const nfd::CommandOptions &options)
 
void afterPrefixRegistered (shared_ptr< RegisteredPrefix > registeredPrefix, const RegisterPrefixSuccessCallback &onSuccess)
 
void asyncUnregisterPrefix (const RegisteredPrefixId *registeredPrefixId, const UnregisterPrefixSuccessCallback &onSuccess, const UnregisterPrefixFailureCallback &onFailure)
 
void finalizeUnregisterPrefix (RegisteredPrefixTable::iterator item, const UnregisterPrefixSuccessCallback &onSuccess)
 
void ensureConnected (bool wantResume)
 
void onEmptyPitOrNoRegisteredPrefixes ()
 

Friends

class Face
 

Detailed Description

implementation detail of Face

Definition at line 59 of file face-impl.hpp.

Member Typedef Documentation

◆ PendingInterestTable

using face::Face::Impl::PendingInterestTable = ContainerWithOnEmptySignal<shared_ptr<PendingInterest> >

Definition at line 62 of file face-impl.hpp.

◆ InterestFilterTable

using face::Face::Impl::InterestFilterTable = std::list<shared_ptr<InterestFilterRecord> >

Definition at line 63 of file face-impl.hpp.

◆ RegisteredPrefixTable

using face::Face::Impl::RegisteredPrefixTable = ContainerWithOnEmptySignal<shared_ptr<RegisteredPrefix> >

Definition at line 64 of file face-impl.hpp.

Constructor & Destructor Documentation

◆ Impl()

face::Face::Impl::Impl ( Face face)
inlineexplicit

Member Function Documentation

◆ asyncExpressInterest()

void face::Face::Impl::asyncExpressInterest ( shared_ptr< const Interest >  interest,
const DataCallback afterSatisfied,
const NackCallback afterNacked,
const TimeoutCallback afterTimeout 
)
inline

◆ asyncRemovePendingInterest()

void face::Face::Impl::asyncRemovePendingInterest ( const PendingInterestId *  pendingInterestId)
inline

Definition at line 114 of file face-impl.hpp.

◆ asyncRemoveAllPendingInterests()

void face::Face::Impl::asyncRemoveAllPendingInterests ( )
inline

Definition at line 120 of file face-impl.hpp.

◆ satisfyPendingInterests()

bool face::Face::Impl::satisfyPendingInterests ( const Data &  data)
inline
Returns
whether the Data should be sent to the forwarder, if it does not come from the forwarder

Definition at line 128 of file face-impl.hpp.

References ndn::APP, and NDN_LOG_DEBUG.

Referenced by face::Face::Impl::asyncPutData().

◆ nackPendingInterests()

optional<lp::Nack> face::Face::Impl::nackPendingInterests ( const lp::Nack nack)
inline
Returns
a Nack to be sent to the forwarder, or nullopt if no Nack should be sent

Definition at line 156 of file face-impl.hpp.

References ndn::APP, ndn::lp::Nack::getInterest(), ndn::Interest::matchesInterest(), and NDN_LOG_DEBUG.

Referenced by face::Face::Impl::asyncPutNack().

◆ asyncSetInterestFilter()

void face::Face::Impl::asyncSetInterestFilter ( shared_ptr< InterestFilterRecord >  interestFilterRecord)
inline

Definition at line 190 of file face-impl.hpp.

References NDN_LOG_INFO.

◆ asyncUnsetInterestFilter()

void face::Face::Impl::asyncUnsetInterestFilter ( const InterestFilterId *  interestFilterId)
inline

Definition at line 197 of file face-impl.hpp.

References NDN_LOG_INFO.

◆ processIncomingInterest()

void face::Face::Impl::processIncomingInterest ( shared_ptr< const Interest >  interest)
inline

Definition at line 209 of file face-impl.hpp.

References face::Face::Impl::dispatchInterest(), and ndn::tlv::Interest.

◆ dispatchInterest()

void face::Face::Impl::dispatchInterest ( PendingInterest &  entry,
const Interest &  interest 
)
inline

◆ asyncPutData()

void face::Face::Impl::asyncPutData ( const Data &  data)
inline

◆ asyncPutNack()

◆ registerPrefix()

const RegisteredPrefixId* face::Face::Impl::registerPrefix ( const Name &  prefix,
shared_ptr< InterestFilterRecord >  filter,
const RegisterPrefixSuccessCallback onSuccess,
const RegisterPrefixFailureCallback onFailure,
uint64_t  flags,
const nfd::CommandOptions &  options 
)
inline

◆ afterPrefixRegistered()

void face::Face::Impl::afterPrefixRegistered ( shared_ptr< RegisteredPrefix >  registeredPrefix,
const RegisterPrefixSuccessCallback onSuccess 
)
inline

Definition at line 302 of file face-impl.hpp.

References NDN_LOG_INFO.

Referenced by face::Face::Impl::registerPrefix().

◆ asyncUnregisterPrefix()

void face::Face::Impl::asyncUnregisterPrefix ( const RegisteredPrefixId *  registeredPrefixId,
const UnregisterPrefixSuccessCallback onSuccess,
const UnregisterPrefixFailureCallback onFailure 
)
inline

◆ finalizeUnregisterPrefix()

void face::Face::Impl::finalizeUnregisterPrefix ( RegisteredPrefixTable::iterator  item,
const UnregisterPrefixSuccessCallback onSuccess 
)
inline

Definition at line 358 of file face-impl.hpp.

References NDN_LOG_INFO.

Referenced by face::Face::Impl::asyncUnregisterPrefix().

◆ ensureConnected()

void face::Face::Impl::ensureConnected ( bool  wantResume)
inline

◆ onEmptyPitOrNoRegisteredPrefixes()

void face::Face::Impl::onEmptyPitOrNoRegisteredPrefixes ( )
inline

Definition at line 383 of file face-impl.hpp.

Referenced by face::Face::Impl::Impl().

Friends And Related Function Documentation

◆ Face

friend class Face
friend

Definition at line 423 of file face-impl.hpp.


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