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
cleanup.cpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26
#include "
cleanup.hpp
"
27
28
namespace
nfd
{
29
30
void
31
cleanupOnFaceRemoval
(
NameTree
& nt, Fib& fib, Pit& pit,
const
Face
&
face
)
32
{
33
std::multimap<size_t, const name_tree::Entry*> maybeEmptyNtes;
34
35
// visit FIB and PIT entries in one pass of NameTree enumeration
36
for
(
const
name_tree::Entry
& nte : nt) {
37
fib::Entry
* fibEntry = nte.getFibEntry();
38
if
(fibEntry !=
nullptr
) {
39
fib.
removeNextHop
(*fibEntry, face);
40
}
41
42
for
(
const
auto
& pitEntry : nte.getPitEntries()) {
43
pit.deleteInOutRecords(pitEntry.get(), face);
44
}
45
46
if
(!nte.hasTableEntries()) {
47
maybeEmptyNtes.emplace(nte.getName().size(), &nte);
48
}
49
}
50
51
// try to erase longer names first, so that children are erased before parent is checked
52
for
(
auto
i = maybeEmptyNtes.rbegin(); i != maybeEmptyNtes.rend(); ++i) {
53
nt.eraseIfEmpty(const_cast<name_tree::Entry*>(i->second),
false
);
54
}
55
56
BOOST_ASSERT(nt.size() == 0 ||
57
std::none_of(nt.begin(), nt.end(),
58
[] (
const
name_tree::Entry
& nte) {
return
nte.isEmpty(); }));
59
}
60
61
}
// namespace nfd
nfd::cleanupOnFaceRemoval
void cleanupOnFaceRemoval(NameTree &nt, Fib &fib, Pit &pit, const Face &face)
cleanup tables when a face is destroyed
Definition:
cleanup.cpp:31
nfd::fib::Entry
represents a FIB entry
Definition:
fib-entry.hpp:51
cleanup.hpp
nfd::name_tree::NameTree
NameTree
Definition:
name-tree.cpp:36
nfd::fib::Entry::removeNextHop
void removeNextHop(const Face &face)
removes a NextHop record
Definition:
fib-entry.cpp:66
Face
ndn Face
Definition:
face-impl.hpp:41
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
face
nfd::name_tree::Entry
an entry in the name tree
Definition:
name-tree-entry.hpp:41
ndnSIM
NFD
daemon
table
cleanup.cpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11