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
link.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_LINK_HPP
23
#define NDN_LINK_HPP
24
25
#include "
data.hpp
"
26
#include "
delegation-list.hpp
"
27
28
namespace
ndn
{
29
32
class
Link
:
public
Data
33
{
34
public
:
35
class
Error
:
public
Data::Error
36
{
37
public
:
38
explicit
39
Error
(
const
std::string& what)
40
:
Data
::
Error
(what)
41
{
42
}
43
};
44
52
Link
();
53
63
explicit
64
Link
(
const
Block
& wire,
bool
wantSort =
true
);
65
75
explicit
76
Link
(
const
Name
&
name
, std::initializer_list<Delegation> dels = {});
77
82
void
83
wireDecode
(
const
Block
& wire,
bool
wantSort =
true
);
84
87
const
DelegationList
&
88
getDelegationList
()
const
89
{
90
return
m_delList;
91
}
92
96
void
97
setDelegationList
(
const
DelegationList
& dels);
98
104
void
105
addDelegation
(uint32_t preference,
const
Name
& name);
106
111
bool
112
removeDelegation
(
const
Name
& name);
113
114
private
:
115
void
116
encodeContent();
117
118
private
:
119
DelegationList
m_delList;
120
};
121
122
}
// namespace ndn
123
124
#endif // NDN_LINK_HPP
ndn::Link::addDelegation
void addDelegation(uint32_t preference, const Name &name)
Add a delegation in the format of <Name, Preference>
Definition:
link.cpp:86
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
ndn::Data::Error
Definition:
data.hpp:38
ndn::Link::wireDecode
void wireDecode(const Block &wire, bool wantSort=true)
Decode from the wire format.
Definition:
link.cpp:67
ndn::Block
Represents a TLV element of NDN packet format.
Definition:
block.hpp:42
ndn::Link::Error::Error
Error(const std::string &what)
Definition:
link.hpp:39
ndn::Link::Error
Definition:
link.hpp:35
ndn::Link::getDelegationList
const DelegationList & getDelegationList() const
Get the delegations.
Definition:
link.hpp:88
ndn::Link
represents a Link object
Definition:
link.hpp:32
data.hpp
ndn::Link::removeDelegation
bool removeDelegation(const Name &name)
Remove a delegation whose name is name.
Definition:
link.cpp:93
ndn::Name
Represents an absolute name.
Definition:
name.hpp:42
ndn::Link::Link
Link()
Create an empty Link object.
ndn::Link::setDelegationList
void setDelegationList(const DelegationList &dels)
Set the delegations.
Definition:
link.cpp:79
ndn::DelegationList
represents a list of Delegations
Definition:
delegation-list.hpp:36
delegation-list.hpp
ndn::Data
Represents a Data packet.
Definition:
data.hpp:35
ndn::name
Definition:
name-component.cpp:37
ndnSIM
ndn-cxx
src
link.hpp
Generated on Thu Nov 2 2017 03:30:28 for ndnSIM by
1.8.11