NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
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
nfd::FaceTable::size
size_t size() const
Definition:
face-table.cpp:52
face.hpp
nfd::FaceTable::ForwardRange
boost::indirected_range< const boost::select_second_const_range< FaceMap > > ForwardRange
Definition:
face-table.hpp:69
nfd::face::Face
generalization of a network interface
Definition:
face.hpp:67
nfd::FaceTable::add
void add(shared_ptr< Face > face)
add a face
Definition:
face-table.cpp:58
nfd::FaceTable::beforeRemove
signal::Signal< FaceTable, Face & > beforeRemove
fires before a face is removed
Definition:
face-table.hpp:90
nfd::FaceTable::begin
const_iterator begin() const
Definition:
face-table.cpp:121
ndn::util::signal::Signal
provides a lightweight signal / event system
Definition:
signal.hpp:51
nfd::FaceTable::get
Face * get(FaceId id) const
get face by FaceId
Definition:
face-table.cpp:45
nfd::FaceTable::const_iterator
boost::range_iterator< ForwardRange >::type const_iterator
ForwardIterator for Face&.
Definition:
face-table.hpp:73
nfd::FaceTable::FaceMap
std::map< FaceId, shared_ptr< Face > > FaceMap
Definition:
face-table.hpp:68
nfd::FaceTable
container of all faces
Definition:
face-table.hpp:37
nfd::FaceTable::end
const_iterator end() const
Definition:
face-table.cpp:127
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
nfd::FaceTable::addReserved
void addReserved(shared_ptr< Face > face, FaceId faceId)
add a special face with a reserved FaceId
Definition:
face-table.cpp:71
nfd::face::FaceId
uint64_t FaceId
identifies a face
Definition:
face.hpp:39
nfd::FaceTable::FaceTable
FaceTable()
Definition:
face-table.cpp:39
ndnSIM
NFD
daemon
fw
face-table.hpp
Generated on Sun Feb 24 2019 22:16:07 for ndnSIM by
1.8.15