NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
cs-info.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2013-2018 Regents of the University of California.
4
*
5
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6
*
7
* ndn-cxx library is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License as published by the Free Software
9
* Foundation, either version 3 of the License, or (at your option) any later version.
10
*
11
* ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
12
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
14
*
15
* You should have received copies of the GNU General Public License and GNU Lesser
16
* General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17
* <http://www.gnu.org/licenses/>.
18
*
19
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20
*/
21
22
#ifndef NDN_MGMT_NFD_CS_INFO_HPP
23
#define NDN_MGMT_NFD_CS_INFO_HPP
24
25
#include "../../encoding/block.hpp"
26
#include "../../encoding/nfd-constants.hpp"
27
28
#include <bitset>
29
30
namespace
ndn
{
31
namespace
nfd
{
32
37
class
CsInfo
38
{
39
public
:
40
class
Error
:
public
tlv::Error
41
{
42
public
:
43
explicit
44
Error
(
const
std::string& what)
45
: tlv::
Error
(what)
46
{
47
}
48
};
49
50
CsInfo
();
51
52
explicit
53
CsInfo
(
const
Block
& block);
54
55
template
<encoding::Tag TAG>
56
size_t
57
wireEncode
(
EncodingImpl<TAG>
& encoder)
const
;
58
59
const
Block
&
60
wireEncode
()
const
;
61
62
void
63
wireDecode
(
const
Block
& wire);
64
67
uint64_t
68
getCapacity
()
const
69
{
70
return
m_capacity;
71
}
72
73
CsInfo
&
74
setCapacity
(uint64_t capacity);
75
78
bool
79
getEnableAdmit
()
const
80
{
81
return
m_flags.test(
BIT_CS_ENABLE_ADMIT
);
82
}
83
84
CsInfo
&
85
setEnableAdmit
(
bool
enableAdmit);
86
89
bool
90
getEnableServe
()
const
91
{
92
return
m_flags.test(
BIT_CS_ENABLE_SERVE
);
93
}
94
95
CsInfo
&
96
setEnableServe
(
bool
enableServe);
97
100
uint64_t
101
getNEntries
()
const
102
{
103
return
m_nEntries;
104
}
105
106
CsInfo
&
107
setNEntries
(uint64_t nEntries);
108
111
uint64_t
112
getNHits
()
const
113
{
114
return
m_nHits;
115
}
116
117
CsInfo
&
118
setNHits
(uint64_t nHits);
119
122
uint64_t
123
getNMisses
()
const
124
{
125
return
m_nMisses;
126
}
127
128
CsInfo
&
129
setNMisses
(uint64_t nMisses);
130
131
private
:
132
using
FlagsBitSet = std::bitset<2>;
133
134
uint64_t m_capacity;
135
FlagsBitSet m_flags;
136
uint64_t m_nEntries;
137
uint64_t m_nHits;
138
uint64_t m_nMisses;
139
mutable
Block
m_wire;
140
};
141
142
NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS
(
CsInfo
);
143
144
bool
145
operator==
(
const
CsInfo
& a,
const
CsInfo
& b);
146
147
inline
bool
148
operator!=
(
const
CsInfo
& a,
const
CsInfo
& b)
149
{
150
return
!(a == b);
151
}
152
153
std::ostream&
154
operator<<
(std::ostream& os,
const
CsInfo
& csi);
155
156
}
// namespace nfd
157
}
// namespace ndn
158
159
#endif // NDN_MGMT_NFD_CS_INFO_HPP
ndn::nfd::CsInfo::setNHits
CsInfo & setNHits(uint64_t nHits)
Definition:
cs-info.cpp:165
ndn::nfd::CsInfo::getNMisses
uint64_t getNMisses() const
get number of CS lookup misses since NFD starts
Definition:
cs-info.hpp:123
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
ndn::nfd::operator!=
bool operator!=(const ChannelStatus &a, const ChannelStatus &b)
Definition:
channel-status.hpp:85
ndn::nfd::CsInfo::getCapacity
uint64_t getCapacity() const
get CS capacity (in number of packets)
Definition:
cs-info.hpp:68
ndn::nfd::CsInfo::CsInfo
CsInfo()
Definition:
cs-info.cpp:33
ndn::nfd::CsInfo::wireEncode
const Block & wireEncode() const
Definition:
cs-info.cpp:66
ndn::nfd::CsInfo::getEnableAdmit
bool getEnableAdmit() const
get CS_ENABLE_ADMIT flag
Definition:
cs-info.hpp:79
ndn::nfd::CsInfo::Error
Definition:
cs-info.hpp:40
ndn::nfd::CsInfo::getEnableServe
bool getEnableServe() const
get CS_ENABLE_SERVE flag
Definition:
cs-info.hpp:90
ndn::Block
Represents a TLV element of NDN packet format.
Definition:
block.hpp:42
ndn::nfd::CsInfo::setNEntries
CsInfo & setNEntries(uint64_t nEntries)
Definition:
cs-info.cpp:157
ndn::nfd::CsInfo::setEnableAdmit
CsInfo & setEnableAdmit(bool enableAdmit)
Definition:
cs-info.cpp:141
ndn::nfd::CsInfo::Error::Error
Error(const std::string &what)
Definition:
cs-info.hpp:44
ndn::nfd::CsInfo::getNHits
uint64_t getNHits() const
get number of CS lookup hits since NFD starts
Definition:
cs-info.hpp:112
ndn::nfd::CsInfo::wireDecode
void wireDecode(const Block &wire)
Definition:
cs-info.cpp:82
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
ndn::nfd::CsInfo::setEnableServe
CsInfo & setEnableServe(bool enableServe)
Definition:
cs-info.cpp:149
ndn::nfd::operator==
bool operator==(const ChannelStatus &a, const ChannelStatus &b)
Definition:
channel-status.cpp:96
ndn::nfd::BIT_CS_ENABLE_SERVE
enables the CS to satisfy Interests using cached Data
Definition:
nfd-constants.hpp:94
ndn::nfd::BIT_CS_ENABLE_ADMIT
enables the CS to admit new Data
Definition:
nfd-constants.hpp:93
ndn::nfd::operator<<
std::ostream & operator<<(std::ostream &os, FaceScope faceScope)
Definition:
nfd-constants.cpp:35
ndn::nfd::CsInfo
represents the CS Information dataset
Definition:
cs-info.hpp:37
ndn::encoding::EncodingImpl
Definition:
encoding-buffer-fwd.hpp:36
ndn::nfd::CsInfo::setCapacity
CsInfo & setCapacity(uint64_t capacity)
Definition:
cs-info.cpp:133
ndn::nfd::NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS
NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS(ChannelStatus)
ndn::nfd::CsInfo::setNMisses
CsInfo & setNMisses(uint64_t nMisses)
Definition:
cs-info.cpp:173
ndn::tlv::nfd::CsInfo
Definition:
tlv-nfd.hpp:86
ndn::tlv::Error
represents an error in TLV encoding or decoding
Definition:
tlv.hpp:50
ndn::nfd::CsInfo::getNEntries
uint64_t getNEntries() const
get number of stored CS entries
Definition:
cs-info.hpp:101
ndnSIM
ndn-cxx
src
mgmt
nfd
cs-info.hpp
Generated on Sun Feb 25 2018 13:27:05 for ndnSIM by
1.8.14