NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
face-table.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26
#ifndef NFD_DAEMON_FW_FACE_TABLE_HPP
27
#define NFD_DAEMON_FW_FACE_TABLE_HPP
28
29
#include "
face/face.hpp
"
30
#include <boost/range/adaptor/indirected.hpp>
31
#include <boost/range/adaptor/map.hpp>
32
33
namespace
nfd
{
34
37
class
FaceTable
: noncopyable
38
{
39
public
:
40
FaceTable
();
41
47
void
48
add
(shared_ptr<Face>
face
);
49
52
void
53
addReserved
(shared_ptr<Face> face,
FaceId
faceId);
54
59
Face
*
60
get
(
FaceId
id)
const
;
61
64
size_t
65
size
()
const
;
66
67
public
:
// enumeration
68
using
FaceMap
= std::map<FaceId, shared_ptr<Face>>;
69
using
ForwardRange
= boost::indirected_range<const boost::select_second_const_range<FaceMap>>;
70
73
using
const_iterator
= boost::range_iterator<ForwardRange>::type;
74
75
const_iterator
76
begin
()
const
;
77
78
const_iterator
79
end
()
const
;
80
81
public
:
// signals
84
signal::Signal<FaceTable, Face&>
afterAdd
;
85
90
signal::Signal<FaceTable, Face&>
beforeRemove
;
91
92
private
:
93
void
94
addImpl(shared_ptr<Face> face,
FaceId
faceId);
95
96
void
97
remove
(
FaceId
faceId);
98
99
ForwardRange
100
getForwardRange()
const
;
101
102
private
:
103
FaceId
m_lastFaceId;
104
FaceMap
m_faces;
105
};
106
107
}
// namespace nfd
108
109
#endif // NFD_DAEMON_FW_FACE_TABLE_HPP
nfd::FaceTable::afterAdd
signal::Signal< FaceTable, Face & > afterAdd
fires after a face is added
Definition:
face-table.hpp:84
face.hpp
nfd::FaceTable::end
const_iterator end() const
Definition:
face-table.cpp:126
nfd::FaceTable::add
void add(shared_ptr< Face > face)
add a face
Definition:
face-table.cpp:57
nfd::FaceTable::FaceMap
std::map< FaceId, shared_ptr< Face >> FaceMap
Definition:
face-table.hpp:68
nfd::FaceTable::ForwardRange
boost::indirected_range< const boost::select_second_const_range< FaceMap >> ForwardRange
Definition:
face-table.hpp:69
nfd::FaceTable::beforeRemove
signal::Signal< FaceTable, Face & > beforeRemove
fires before a face is removed
Definition:
face-table.hpp:90
ndn::util::signal::Signal
provides a lightweight signal / event system
Definition:
signal.hpp:50
nfd::FaceTable::size
size_t size() const
Definition:
face-table.cpp:51
Face
ndn Face
Definition:
face-impl.hpp:41
nfd::FaceTable::const_iterator
boost::range_iterator< ForwardRange >::type const_iterator
ForwardIterator for Face&.
Definition:
face-table.hpp:73
nfd::FaceTable
container of all faces
Definition:
face-table.hpp:37
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
face
nfd::FaceTable::addReserved
void addReserved(shared_ptr< Face > face, FaceId faceId)
add a special face with a reserved FaceId
Definition:
face-table.cpp:70
nfd::FaceTable::begin
const_iterator begin() const
Definition:
face-table.cpp:120
nfd::face::FaceId
uint64_t FaceId
identifies a face
Definition:
face.hpp:39
nfd::FaceTable::FaceTable
FaceTable()
Definition:
face-table.cpp:38
ndnSIM
NFD
daemon
fw
face-table.hpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11