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
strategy-choice.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2013-2017 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_STRATEGY_CHOICE_HPP
23
#define NDN_MGMT_NFD_STRATEGY_CHOICE_HPP
24
25
#include "../../encoding/block.hpp"
26
#include "../../name.hpp"
27
28
namespace
ndn
{
29
namespace
nfd
{
30
36
class
StrategyChoice
37
{
38
public
:
39
class
Error
:
public
tlv::Error
40
{
41
public
:
42
explicit
43
Error
(
const
std::string& what)
44
: tlv::
Error
(what)
45
{
46
}
47
};
48
49
StrategyChoice
();
50
51
explicit
52
StrategyChoice
(
const
Block
& payload);
53
54
template
<encoding::Tag TAG>
55
size_t
56
wireEncode
(EncodingImpl<TAG>& encoder)
const
;
57
58
const
Block
&
59
wireEncode
()
const
;
60
61
void
62
wireDecode
(
const
Block
& wire);
63
64
public
:
// getters & setters
65
const
Name
&
66
getName
()
const
67
{
68
return
m_name;
69
}
70
71
StrategyChoice
&
72
setName
(
const
Name
&
name
);
73
74
const
Name
&
75
getStrategy
()
const
76
{
77
return
m_strategy;
78
}
79
80
StrategyChoice
&
81
setStrategy
(
const
Name
& strategy);
82
83
private
:
84
Name
m_name;
// namespace
85
Name
m_strategy;
// strategy for the namespace
86
87
mutable
Block
m_wire;
88
};
89
90
NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS
(
StrategyChoice
);
91
92
bool
93
operator==
(
const
StrategyChoice
& a,
const
StrategyChoice
& b);
94
95
inline
bool
96
operator!=
(
const
StrategyChoice
& a,
const
StrategyChoice
& b)
97
{
98
return
!(a == b);
99
}
100
101
std::ostream&
102
operator<<
(std::ostream& os,
const
StrategyChoice
& sc);
103
104
}
// namespace nfd
105
}
// namespace ndn
106
107
#endif // NDN_MGMT_NFD_STRATEGY_CHOICE_HPP
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::StrategyChoice::Error::Error
Error(const std::string &what)
Definition:
strategy-choice.hpp:43
ndn::Block
Represents a TLV element of NDN packet format.
Definition:
block.hpp:42
ndn::nfd::StrategyChoice::wireDecode
void wireDecode(const Block &wire)
Definition:
strategy-choice.cpp:73
ndn::nfd::StrategyChoice::wireEncode
const Block & wireEncode() const
Definition:
strategy-choice.cpp:57
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
ndn::nfd::operator==
bool operator==(const ChannelStatus &a, const ChannelStatus &b)
Definition:
channel-status.cpp:96
ndn::nfd::StrategyChoice::setStrategy
StrategyChoice & setStrategy(const Name &strategy)
Definition:
strategy-choice.cpp:114
ndn::nfd::operator<<
std::ostream & operator<<(std::ostream &os, FaceScope faceScope)
Definition:
nfd-constants.cpp:35
ndn::Name
Represents an absolute name.
Definition:
name.hpp:42
ndn::nfd::StrategyChoice::getStrategy
const Name & getStrategy() const
Definition:
strategy-choice.hpp:75
ndn::nfd::StrategyChoice::StrategyChoice
StrategyChoice()
ndn::nfd::NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS
NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS(ChannelStatus)
ndn::nfd::StrategyChoice
represents an item in NFD StrategyChoice dataset
Definition:
strategy-choice.hpp:36
ndn::nfd::StrategyChoice::setName
StrategyChoice & setName(const Name &name)
Definition:
strategy-choice.cpp:106
ndn::nfd::StrategyChoice::Error
Definition:
strategy-choice.hpp:39
ndn::name
Definition:
name-component.cpp:37
ndn::tlv::Error
represents an error in TLV encoding or decoding
Definition:
tlv.hpp:50
ndn::nfd::StrategyChoice::getName
const Name & getName() const
Definition:
strategy-choice.hpp:66
ndnSIM
ndn-cxx
src
mgmt
nfd
strategy-choice.hpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11