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

container of all faces More...

#include <face-table.hpp>

Inheritance diagram for nfd::FaceTable:
Collaboration diagram for nfd::FaceTable:

Public Types

using FaceMap = std::map< FaceId, shared_ptr< Face >>
 
using ForwardRange = boost::indirected_range< const boost::select_second_const_range< FaceMap >>
 
using const_iterator = boost::range_iterator< ForwardRange >::type
 ForwardIterator for Face&. More...
 

Public Member Functions

 FaceTable ()
 
void add (shared_ptr< Face > face)
 add a face More...
 
void addReserved (shared_ptr< Face > face, FaceId faceId)
 add a special face with a reserved FaceId More...
 
Faceget (FaceId id) const
 get face by FaceId More...
 
size_t size () const
 
const_iterator begin () const
 
const_iterator end () const
 

Public Attributes

signal::Signal< FaceTable, Face & > afterAdd
 fires after a face is added More...
 
signal::Signal< FaceTable, Face & > beforeRemove
 fires before a face is removed More...
 

Detailed Description

container of all faces

Definition at line 37 of file face-table.hpp.

Member Typedef Documentation

using nfd::FaceTable::FaceMap = std::map<FaceId, shared_ptr<Face>>

Definition at line 68 of file face-table.hpp.

using nfd::FaceTable::ForwardRange = boost::indirected_range<const boost::select_second_const_range<FaceMap>>

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

using nfd::FaceTable::const_iterator = boost::range_iterator<ForwardRange>::type

ForwardIterator for Face&.

Definition at line 73 of file face-table.hpp.

Constructor & Destructor Documentation

nfd::FaceTable::FaceTable ( )

Definition at line 38 of file face-table.cpp.

References Face.

Member Function Documentation

void nfd::FaceTable::add ( shared_ptr< Face face)

add a face

FaceTable obtains shared ownership of the face. The channel or protocol factory that creates the face may retain ownership.

Definition at line 57 of file face-table.cpp.

References nfd::face::FACEID_RESERVED_MAX, nfd::face::INVALID_FACEID, and NFD_LOG_WARN.

Referenced by nfd::face::FaceSystem::FaceSystem(), and nfd::FaceManager::setConfigFile().

void nfd::FaceTable::addReserved ( shared_ptr< Face face,
FaceId  faceId 
)
Face * nfd::FaceTable::get ( FaceId  id) const

get face by FaceId

Returns
a face if found, nullptr if not found; face->shared_from_this() can be used if shared_ptr<Face> is desired

Definition at line 44 of file face-table.cpp.

Referenced by nfd::FibManager::FibManager(), nfd::Forwarder::Forwarder(), and nfd::FaceManager::setConfigFile().

size_t nfd::FaceTable::size ( ) const
Returns
count of faces

Definition at line 51 of file face-table.cpp.

FaceTable::const_iterator nfd::FaceTable::begin ( ) const

Definition at line 120 of file face-table.cpp.

FaceTable::const_iterator nfd::FaceTable::end ( ) const

Definition at line 126 of file face-table.cpp.

Member Data Documentation

signal::Signal<FaceTable, Face&> nfd::FaceTable::afterAdd

fires after a face is added

Definition at line 84 of file face-table.hpp.

Referenced by addReserved(), nfd::FaceManager::FaceManager(), and nfd::Forwarder::Forwarder().

signal::Signal<FaceTable, Face&> nfd::FaceTable::beforeRemove

fires before a face is removed

When this signal is emitted, face is still in FaceTable and has valid FaceId.

Definition at line 90 of file face-table.hpp.

Referenced by addReserved(), nfd::FaceManager::FaceManager(), and nfd::Forwarder::Forwarder().


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