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
pit-entry.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26
#ifndef NFD_DAEMON_TABLE_PIT_ENTRY_HPP
27
#define NFD_DAEMON_TABLE_PIT_ENTRY_HPP
28
29
#include "
pit-in-record.hpp
"
30
#include "
pit-out-record.hpp
"
31
#include "
core/scheduler.hpp
"
32
33
namespace
nfd
{
34
35
namespace
name_tree {
36
class
Entry;
37
}
// namespace name_tree
38
39
namespace
pit {
40
43
typedef
std::list<InRecord>
InRecordCollection
;
44
47
typedef
std::list<OutRecord>
OutRecordCollection
;
48
57
class
Entry
:
public
StrategyInfoHost
, noncopyable
58
{
59
public
:
60
explicit
61
Entry
(
const
Interest
& interest);
62
68
const
Interest
&
69
getInterest
()
const
70
{
71
return
*m_interest;
72
}
73
76
const
Name
&
77
getName
()
const
78
{
79
return
m_interest->getName();
80
}
81
86
bool
87
canMatch(
const
Interest
& interest,
size_t
nEqualNameComps = 0)
const
;
88
89
public
:
// in-record
92
const
InRecordCollection&
93
getInRecords
()
const
94
{
95
return
m_inRecords;
96
}
97
103
bool
104
hasInRecords
()
const
105
{
106
return
!m_inRecords.empty();
107
}
108
109
InRecordCollection::iterator
110
in_begin
()
111
{
112
return
m_inRecords.begin();
113
}
114
115
InRecordCollection::const_iterator
116
in_begin
()
const
117
{
118
return
m_inRecords.begin();
119
}
120
121
InRecordCollection::iterator
122
in_end
()
123
{
124
return
m_inRecords.end();
125
}
126
127
InRecordCollection::const_iterator
128
in_end
()
const
129
{
130
return
m_inRecords.end();
131
}
132
136
InRecordCollection::iterator
137
getInRecord(
const
Face
&
face
);
138
142
InRecordCollection::iterator
143
insertOrUpdateInRecord(
Face
& face,
const
Interest
& interest);
144
147
void
148
deleteInRecord(
const
Face
& face);
149
152
void
153
clearInRecords();
154
155
public
:
// out-record
158
const
OutRecordCollection&
159
getOutRecords
()
const
160
{
161
return
m_outRecords;
162
}
163
170
bool
171
hasOutRecords
()
const
172
{
173
return
!m_outRecords.empty();
174
}
175
176
OutRecordCollection::iterator
177
out_begin
()
178
{
179
return
m_outRecords.begin();
180
}
181
182
OutRecordCollection::const_iterator
183
out_begin
()
const
184
{
185
return
m_outRecords.begin();
186
}
187
188
OutRecordCollection::iterator
189
out_end
()
190
{
191
return
m_outRecords.end();
192
}
193
194
OutRecordCollection::const_iterator
195
out_end
()
const
196
{
197
return
m_outRecords.end();
198
}
199
203
OutRecordCollection::iterator
204
getOutRecord(
const
Face
& face);
205
209
OutRecordCollection::iterator
210
insertOrUpdateOutRecord(
Face
& face,
const
Interest
& interest);
211
214
void
215
deleteOutRecord(
const
Face
& face);
216
217
public
:
227
scheduler::EventId
m_unsatisfyTimer
;
228
237
scheduler::EventId
m_stragglerTimer
;
238
239
private
:
240
shared_ptr<const Interest> m_interest;
241
InRecordCollection m_inRecords;
242
OutRecordCollection m_outRecords;
243
244
name_tree::Entry
* m_nameTreeEntry;
245
246
friend
class
name_tree::Entry
;
247
};
248
249
}
// namespace pit
250
}
// namespace nfd
251
252
#endif // NFD_DAEMON_TABLE_PIT_ENTRY_HPP
nfd::pit::Entry::in_begin
InRecordCollection::const_iterator in_begin() const
Definition:
pit-entry.hpp:116
nfd::pit::Entry::m_stragglerTimer
scheduler::EventId m_stragglerTimer
straggler timer
Definition:
pit-entry.hpp:237
nfd::pit::Entry::out_end
OutRecordCollection::iterator out_end()
Definition:
pit-entry.hpp:189
nfd::StrategyInfoHost
base class for an entity onto which StrategyInfo items may be placed
Definition:
strategy-info-host.hpp:35
pit-in-record.hpp
ndn::Interest
represents an Interest packet
Definition:
interest.hpp:42
nfd::pit::Entry::getInRecords
const InRecordCollection & getInRecords() const
Definition:
pit-entry.hpp:93
nfd::pit::Entry::out_begin
OutRecordCollection::iterator out_begin()
Definition:
pit-entry.hpp:177
nfd::pit::Entry::hasInRecords
bool hasInRecords() const
Definition:
pit-entry.hpp:104
nfd::pit::InRecordCollection
std::list< InRecord > InRecordCollection
an unordered collection of in-records
Definition:
pit-entry.hpp:43
nfd::cs::iterator
Table::const_iterator iterator
Definition:
cs-internal.hpp:41
ndn::util::scheduler::EventId
std::shared_ptr< ns3::EventId > EventId
Definition:
scheduler.hpp:48
Face
ndn Face
Definition:
face-impl.hpp:41
nfd::pit::Entry::out_end
OutRecordCollection::const_iterator out_end() const
Definition:
pit-entry.hpp:195
nfd::pit::Entry::in_end
InRecordCollection::iterator in_end()
Definition:
pit-entry.hpp:122
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
nfd::pit::Entry
an Interest table entry
Definition:
pit-entry.hpp:57
nfd::pit::Entry::getInterest
const Interest & getInterest() const
Definition:
pit-entry.hpp:69
face
ndn::Name
Represents an absolute name.
Definition:
name.hpp:42
scheduler.hpp
nfd::pit::OutRecordCollection
std::list< OutRecord > OutRecordCollection
an unordered collection of out-records
Definition:
pit-entry.hpp:47
nfd::pit::Entry::in_begin
InRecordCollection::iterator in_begin()
Definition:
pit-entry.hpp:110
nfd::pit::Entry::getName
const Name & getName() const
Definition:
pit-entry.hpp:77
nfd::pit::Entry::in_end
InRecordCollection::const_iterator in_end() const
Definition:
pit-entry.hpp:128
nfd::pit::Entry::hasOutRecords
bool hasOutRecords() const
Definition:
pit-entry.hpp:171
nfd::pit::Entry::out_begin
OutRecordCollection::const_iterator out_begin() const
Definition:
pit-entry.hpp:183
pit-out-record.hpp
nfd::pit::Entry::getOutRecords
const OutRecordCollection & getOutRecords() const
Definition:
pit-entry.hpp:159
nfd::pit::Entry::m_unsatisfyTimer
scheduler::EventId m_unsatisfyTimer
unsatisfy timer
Definition:
pit-entry.hpp:227
nfd::name_tree::Entry
an entry in the name tree
Definition:
name-tree-entry.hpp:41
ndnSIM
NFD
daemon
table
pit-entry.hpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11