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
client-control-strategy.cpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26
#include "
client-control-strategy.hpp
"
27
#include "
core/logger.hpp
"
28
29
namespace
nfd
{
30
namespace
fw {
31
32
NFD_LOG_INIT
(
"ClientControlStrategy"
);
33
NFD_REGISTER_STRATEGY
(
ClientControlStrategy
);
34
35
ClientControlStrategy::ClientControlStrategy
(
Forwarder
& forwarder,
const
Name
&
name
)
36
:
BestRouteStrategyBase
(forwarder)
37
{
38
ParsedInstanceName
parsed =
parseInstanceName
(name);
39
if
(!parsed.
parameters
.empty()) {
40
BOOST_THROW_EXCEPTION(std::invalid_argument(
"ClientControlStrategy does not accept parameters"
));
41
}
42
if
(parsed.
version
&& *parsed.
version
!=
getStrategyName
()[-1].toVersion()) {
43
BOOST_THROW_EXCEPTION(std::invalid_argument(
44
"ClientControlStrategy does not support version "
+
std::to_string
(*parsed.
version
)));
45
}
46
this->
setInstanceName
(
makeInstanceName
(name,
getStrategyName
()));
47
48
NFD_LOG_WARN
(
"NextHopFaceId field is honored universally and "
49
"it's unnecessary to set client-control strategy."
);
50
}
51
52
const
Name
&
53
ClientControlStrategy::getStrategyName
()
54
{
55
static
Name
strategyName(
"/localhost/nfd/strategy/client-control/%FD%02"
);
56
return
strategyName;
57
}
58
59
}
// namespace fw
60
}
// namespace nfd
nfd::fw::Strategy::parseInstanceName
static ParsedInstanceName parseInstanceName(const Name &input)
parse a strategy instance name
Definition:
strategy.cpp:121
nfd::fw::ClientControlStrategy
identical to BestRouteStrategy v1, for backwards compatibility
Definition:
client-control-strategy.hpp:37
nfd::fw::Strategy::ParsedInstanceName::parameters
PartialName parameters
parameter components
Definition:
strategy.hpp:263
nfd::Forwarder
main class of NFD
Definition:
forwarder.hpp:54
nfd::fw::ClientControlStrategy::getStrategyName
static const Name & getStrategyName()
Definition:
client-control-strategy.cpp:53
nfd::fw::Strategy::setInstanceName
void setInstanceName(const Name &name)
set strategy instance name
Definition:
strategy.hpp:290
nfd::fw::Strategy::ParsedInstanceName
Definition:
strategy.hpp:259
nfd::fw::Strategy::ParsedInstanceName::version
ndn::optional< uint64_t > version
whether strategyName contains a version component
Definition:
strategy.hpp:262
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
nfd::fw::NFD_REGISTER_STRATEGY
NFD_REGISTER_STRATEGY(AccessStrategy)
ndn::Name
Represents an absolute name.
Definition:
name.hpp:42
nfd::fw::BestRouteStrategyBase
Definition:
best-route-strategy.hpp:34
NFD_LOG_WARN
#define NFD_LOG_WARN(expression)
Definition:
logger.hpp:58
nfd::fw::Strategy::makeInstanceName
static Name makeInstanceName(const Name &input, const Name &strategyName)
construct a strategy instance name
Definition:
strategy.cpp:132
client-control-strategy.hpp
ndn::to_string
std::string to_string(const V &v)
Definition:
backports.hpp:84
NFD_LOG_INIT
#define NFD_LOG_INIT(name)
Definition:
logger.hpp:34
nfd::fw::ClientControlStrategy::ClientControlStrategy
ClientControlStrategy(Forwarder &forwarder, const Name &name=getStrategyName())
Definition:
client-control-strategy.cpp:35
ndn::name
Definition:
name-component.cpp:37
logger.hpp
ndnSIM
NFD
daemon
fw
client-control-strategy.cpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11