ndn::nfd Namespace Reference

Classes

class  ChannelDataset
 represents a faces/channels dataset More...
 
class  ChannelStatus
 represents an item in NFD Channel dataset More...
 
class  CommandOptions
 contains options for ControlCommand execution More...
 
class  ControlCommand
 base class of NFD ControlCommand More...
 
class  Controller
 NFD Management protocol client. More...
 
class  ControlParameters
 represents parameters in a ControlCommand request or response More...
 
class  FaceCreateCommand
 represents a faces/create command More...
 
class  FaceDataset
 represents a faces/list dataset More...
 
class  FaceDatasetBase
 provides common functionality among FaceDataset and FaceQueryDataset More...
 
class  FaceDestroyCommand
 represents a faces/destroy command More...
 
class  FaceEventNotification
 represents a Face status change notification More...
 
class  FaceMonitor
 A subscriber for Face status change notification stream. More...
 
class  FaceQueryDataset
 represents a faces/query dataset More...
 
class  FaceQueryFilter
 represents Face Query Filter More...
 
class  FaceStatus
 represents an item in NFD Face dataset More...
 
class  FaceTraits
 provides getters and setters for face information fields More...
 
class  FaceUpdateCommand
 represents a faces/update command More...
 
class  FibAddNextHopCommand
 represents a fib/add-nexthop command More...
 
class  FibDataset
 represents a fib/list dataset More...
 
class  FibEntry
 
class  FibRemoveNextHopCommand
 represents a fib/remove-nexthop command More...
 
class  ForwarderGeneralStatusDataset
 represents a status/general dataset More...
 
class  ForwarderStatus
 represents NFD General Status dataset More...
 
class  NextHopRecord
 
class  RibDataset
 represents a rib/list dataset More...
 
class  RibEntry
 represents an item in NFD RIB dataset More...
 
class  RibRegisterCommand
 represents a rib/register command More...
 
class  RibUnregisterCommand
 represents a rib/unregister command More...
 
class  Route
 represents a route in a RibEntry More...
 
class  RouteFlagsTraits
 defines getters for each route inheritance flag More...
 
class  StatusDataset
 base class of NFD StatusDataset More...
 
class  StrategyChoice
 represents an item in NFD StrategyChoice dataset More...
 
class  StrategyChoiceDataset
 represents a strategy-choice/list dataset More...
 
class  StrategyChoiceSetCommand
 represents a strategy-choice/set command More...
 
class  StrategyChoiceUnsetCommand
 represents a strategy-choice/set command More...
 

Typedefs

using ControlResponse = mgmt::ControlResponse
 

Enumerations

enum  ControlParameterField {
  CONTROL_PARAMETER_NAME,
  CONTROL_PARAMETER_FACE_ID,
  CONTROL_PARAMETER_URI,
  CONTROL_PARAMETER_LOCAL_URI,
  CONTROL_PARAMETER_ORIGIN,
  CONTROL_PARAMETER_COST,
  CONTROL_PARAMETER_FLAGS,
  CONTROL_PARAMETER_MASK,
  CONTROL_PARAMETER_STRATEGY,
  CONTROL_PARAMETER_EXPIRATION_PERIOD,
  CONTROL_PARAMETER_FACE_PERSISTENCY,
  CONTROL_PARAMETER_UBOUND
}
 
enum  FaceEventKind : uint8_t {
  FACE_EVENT_NONE = 0,
  FACE_EVENT_CREATED = 1,
  FACE_EVENT_DESTROYED = 2,
  FACE_EVENT_UP = 3,
  FACE_EVENT_DOWN = 4
}
 
enum  FaceFlagBit {
  BIT_LOCAL_FIELDS_ENABLED = 0,
  BIT_LP_RELIABILITY_ENABLED = 1
}
 
enum  FacePersistency : uint8_t {
  FACE_PERSISTENCY_NONE = std::numeric_limits<uint8_t>::max(),
  FACE_PERSISTENCY_PERSISTENT = 0,
  FACE_PERSISTENCY_ON_DEMAND = 1,
  FACE_PERSISTENCY_PERMANENT = 2
}
 
enum  FaceScope : uint8_t {
  FACE_SCOPE_NONE = std::numeric_limits<uint8_t>::max(),
  FACE_SCOPE_NON_LOCAL = 0,
  FACE_SCOPE_LOCAL = 1
}
 
enum  LinkType : uint8_t {
  LINK_TYPE_NONE = std::numeric_limits<uint8_t>::max(),
  LINK_TYPE_POINT_TO_POINT = 0,
  LINK_TYPE_MULTI_ACCESS = 1,
  LINK_TYPE_AD_HOC = 2
}
 
enum  RouteFlags : uint64_t {
  ROUTE_FLAGS_NONE = 0,
  ROUTE_FLAG_CHILD_INHERIT = 1,
  ROUTE_FLAG_CAPTURE = 2
}
 
enum  RouteOrigin : uint16_t {
  ROUTE_ORIGIN_NONE = std::numeric_limits<uint16_t>::max(),
  ROUTE_ORIGIN_APP = 0,
  ROUTE_ORIGIN_AUTOREG = 64,
  ROUTE_ORIGIN_CLIENT = 65,
  ROUTE_ORIGIN_AUTOCONF = 66,
  ROUTE_ORIGIN_NLSR = 128,
  ROUTE_ORIGIN_STATIC = 255
}
 

Functions

 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< ChannelStatus >))
 
 BOOST_CONCEPT_ASSERT ((boost::EqualityComparable< FaceQueryFilter >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< StrategyChoice >))
 
 BOOST_CONCEPT_ASSERT ((WireEncodable< FaceQueryFilter >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< ForwarderStatus >))
 
 BOOST_CONCEPT_ASSERT ((NotificationStreamItem< FaceEventNotification >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< FaceStatus >))
 
 BOOST_CONCEPT_ASSERT ((WireEncodable< ControlParameters >))
 
 BOOST_CONCEPT_ASSERT ((WireDecodable< FaceQueryFilter >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< NextHopRecord >))
 
 BOOST_CONCEPT_ASSERT ((WireDecodable< ControlParameters >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< FibEntry >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< Route >))
 
 BOOST_CONCEPT_ASSERT ((StatusDatasetItem< RibEntry >))
 
template size_t ChannelStatus::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t ChannelStatus::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t ControlParameters::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t ControlParameters::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t FaceEventNotification::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t FaceEventNotification::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t FaceQueryFilter::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t FaceQueryFilter::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t FaceStatus::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t FaceStatus::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t FibEntry::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t FibEntry::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t ForwarderStatus::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t ForwarderStatus::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t NextHopRecord::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t NextHopRecord::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
bool operator!= (const FaceEventNotification &a, const FaceEventNotification &b)
 
bool operator!= (const ChannelStatus &a, const ChannelStatus &b)
 
bool operator!= (const NextHopRecord &a, const NextHopRecord &b)
 
bool operator!= (const StrategyChoice &a, const StrategyChoice &b)
 
bool operator!= (const Route &a, const Route &b)
 
bool operator!= (const FaceStatus &a, const FaceStatus &b)
 
bool operator!= (const FibEntry &a, const FibEntry &b)
 
bool operator!= (const FaceQueryFilter &a, const FaceQueryFilter &b)
 
bool operator!= (const RibEntry &a, const RibEntry &b)
 
bool operator!= (const ForwarderStatus &a, const ForwarderStatus &b)
 
std::ostream & operator<< (std::ostream &os, FaceScope faceScope)
 
std::ostream & operator<< (std::ostream &os, FacePersistency facePersistency)
 
std::ostream & operator<< (std::ostream &os, LinkType linkType)
 
std::ostream & operator<< (std::ostream &os, FaceEventKind faceEventKind)
 
std::ostream & operator<< (std::ostream &os, const ChannelStatus &status)
 
std::ostream & operator<< (std::ostream &os, const StrategyChoice &sc)
 
std::ostream & operator<< (std::ostream &os, const NextHopRecord &nh)
 
std::ostream & operator<< (std::ostream &os, RouteOrigin routeOrigin)
 
std::ostream & operator<< (std::ostream &os, RouteFlags routeFlags)
 
std::ostream & operator<< (std::ostream &os, const FaceEventNotification &notification)
 
std::ostream & operator<< (std::ostream &os, const Route &route)
 
std::ostream & operator<< (std::ostream &os, const FibEntry &entry)
 
std::ostream & operator<< (std::ostream &os, const ControlParameters &parameters)
 
std::ostream & operator<< (std::ostream &os, const FaceQueryFilter &filter)
 
std::ostream & operator<< (std::ostream &os, const RibEntry &entry)
 
std::ostream & operator<< (std::ostream &os, const FaceStatus &status)
 
std::ostream & operator<< (std::ostream &os, const ForwarderStatus &status)
 
bool operator== (const ChannelStatus &a, const ChannelStatus &b)
 
bool operator== (const StrategyChoice &a, const StrategyChoice &b)
 
bool operator== (const NextHopRecord &a, const NextHopRecord &b)
 
bool operator== (const FaceEventNotification &a, const FaceEventNotification &b)
 
bool operator== (const Route &a, const Route &b)
 
bool operator== (const FibEntry &a, const FibEntry &b)
 
bool operator== (const FaceQueryFilter &a, const FaceQueryFilter &b)
 
bool operator== (const RibEntry &a, const RibEntry &b)
 
bool operator== (const FaceStatus &a, const FaceStatus &b)
 
bool operator== (const ForwarderStatus &a, const ForwarderStatus &b)
 
std::istream & operator>> (std::istream &is, RouteOrigin &routeOrigin)
 extract RouteOrigin from stream More...
 
template<typename T >
static std::vector< T > parseDatasetVector (ConstBufferPtr payload)
 parses elements into a vector of T More...
 
template size_t RibEntry::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t RibEntry::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t Route::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t Route::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t StrategyChoice::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t StrategyChoice::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 

Variables

const std::string CONTROL_PARAMETER_FIELD [CONTROL_PARAMETER_UBOUND]
 
const uint64_t INVALID_FACE_ID = 0
 

Typedef Documentation

Definition at line 30 of file nfd/control-response.hpp.

Function Documentation

ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< ChannelStatus >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (boost::EqualityComparable< FaceQueryFilter >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< StrategyChoice >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (WireEncodable< FaceQueryFilter >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< ForwarderStatus >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (NotificationStreamItem< FaceEventNotification >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< FaceStatus >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (WireEncodable< ControlParameters >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (WireDecodable< FaceQueryFilter >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< NextHopRecord >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (WireDecodable< ControlParameters >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< FibEntry >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< Route >)  )
ndn::nfd::BOOST_CONCEPT_ASSERT ( (StatusDatasetItem< RibEntry >)  )
template size_t ndn::nfd::ChannelStatus::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::ChannelStatus::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::ControlParameters::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::ControlParameters::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::FaceEventNotification::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::FaceEventNotification::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::FaceQueryFilter::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::FaceQueryFilter::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::FaceStatus::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::FaceStatus::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::FibEntry::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::FibEntry::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::ForwarderStatus::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::ForwarderStatus::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::NextHopRecord::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::NextHopRecord::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
bool ndn::nfd::operator!= ( const FaceEventNotification a,
const FaceEventNotification b 
)
inline

Definition at line 79 of file face-event-notification.hpp.

bool ndn::nfd::operator!= ( const ChannelStatus a,
const ChannelStatus b 
)
inline

Definition at line 85 of file channel-status.hpp.

bool ndn::nfd::operator!= ( const NextHopRecord a,
const NextHopRecord b 
)
inline

Definition at line 93 of file fib-entry.hpp.

bool ndn::nfd::operator!= ( const StrategyChoice a,
const StrategyChoice b 
)
inline

Definition at line 96 of file strategy-choice.hpp.

bool ndn::nfd::operator!= ( const Route a,
const Route b 
)
inline

Definition at line 140 of file rib-entry.hpp.

bool ndn::nfd::operator!= ( const FaceStatus a,
const FaceStatus b 
)
inline

Definition at line 170 of file face-status.hpp.

bool ndn::nfd::operator!= ( const FibEntry a,
const FibEntry b 
)
inline

Definition at line 176 of file fib-entry.hpp.

bool ndn::nfd::operator!= ( const FaceQueryFilter a,
const FaceQueryFilter b 
)
inline

Definition at line 227 of file face-query-filter.hpp.

bool ndn::nfd::operator!= ( const RibEntry a,
const RibEntry b 
)
inline

Definition at line 228 of file rib-entry.hpp.

bool ndn::nfd::operator!= ( const ForwarderStatus a,
const ForwarderStatus b 
)
inline

Definition at line 228 of file forwarder-status.hpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
FaceScope  faceScope 
)

Definition at line 35 of file nfd-constants.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
FacePersistency  facePersistency 
)

Definition at line 49 of file nfd-constants.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
LinkType  linkType 
)

Definition at line 65 of file nfd-constants.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
FaceEventKind  faceEventKind 
)

Definition at line 81 of file nfd-constants.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const ChannelStatus status 
)

Definition at line 102 of file channel-status.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const StrategyChoice sc 
)

Definition at line 128 of file strategy-choice.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const NextHopRecord nh 
)

Definition at line 132 of file fib-entry.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
RouteOrigin  routeOrigin 
)

Definition at line 146 of file nfd-constants.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
RouteFlags  routeFlags 
)

Definition at line 168 of file nfd-constants.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const FaceEventNotification notification 
)

Definition at line 179 of file face-event-notification.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const Route route 
)

Definition at line 201 of file rib-entry.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const FibEntry entry 
)

Definition at line 259 of file fib-entry.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const ControlParameters parameters 
)

Definition at line 270 of file control-parameters.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const FaceQueryFilter filter 
)

Definition at line 311 of file face-query-filter.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const RibEntry entry 
)

Definition at line 338 of file rib-entry.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const FaceStatus status 
)

Definition at line 342 of file face-status.cpp.

std::ostream & ndn::nfd::operator<< ( std::ostream &  os,
const ForwarderStatus status 
)

Definition at line 354 of file forwarder-status.cpp.

bool ndn::nfd::operator== ( const ChannelStatus a,
const ChannelStatus b 
)

Definition at line 96 of file channel-status.cpp.

bool ndn::nfd::operator== ( const StrategyChoice a,
const StrategyChoice b 
)

Definition at line 122 of file strategy-choice.cpp.

bool ndn::nfd::operator== ( const NextHopRecord a,
const NextHopRecord b 
)

Definition at line 125 of file fib-entry.cpp.

bool ndn::nfd::operator== ( const FaceEventNotification a,
const FaceEventNotification b 
)

Definition at line 166 of file face-event-notification.cpp.

bool ndn::nfd::operator== ( const Route a,
const Route b 
)

Definition at line 191 of file rib-entry.cpp.

bool ndn::nfd::operator== ( const FibEntry a,
const FibEntry b 
)

Definition at line 236 of file fib-entry.cpp.

bool ndn::nfd::operator== ( const FaceQueryFilter a,
const FaceQueryFilter b 
)

Definition at line 292 of file face-query-filter.cpp.

bool ndn::nfd::operator== ( const RibEntry a,
const RibEntry b 
)

Definition at line 315 of file rib-entry.cpp.

bool ndn::nfd::operator== ( const FaceStatus a,
const FaceStatus b 
)

Definition at line 320 of file face-status.cpp.

bool ndn::nfd::operator== ( const ForwarderStatus a,
const ForwarderStatus b 
)

Definition at line 335 of file forwarder-status.cpp.

std::istream & ndn::nfd::operator>> ( std::istream &  is,
RouteOrigin routeOrigin 
)

extract RouteOrigin from stream

Postcondition
if the first token in contains a valid RouteOrigin as string or numeric value, it is extracted into routeOrigin ; otherwise, routeOrigin is set to ROUTE_ORIGIN_NONE , and failbit is set on is

Definition at line 99 of file nfd-constants.cpp.

template<typename T >
static std::vector<T> ndn::nfd::parseDatasetVector ( ConstBufferPtr  payload)
static

parses elements into a vector of T

Template Parameters
Telement type
Parameters
payloadpointer to a buffer of zero or more blocks of decodable by T
Returns
a vector of T
Exceptions
tlv::Errorcannot parse payload

Definition at line 58 of file status-dataset.cpp.

template size_t ndn::nfd::RibEntry::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::RibEntry::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::Route::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::Route::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
template size_t ndn::nfd::StrategyChoice::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::nfd::StrategyChoice::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const

Variable Documentation

const std::string ndn::nfd::CONTROL_PARAMETER_FIELD[CONTROL_PARAMETER_UBOUND]
Initial value:
= {
"Name",
"FaceId",
"Uri",
"LocalUri",
"Origin",
"Cost",
"Flags",
"Mask",
"Strategy",
"ExpirationPeriod",
"FacePersistency"
}

Definition at line 51 of file nfd/control-parameters.hpp.

const uint64_t ndn::nfd::INVALID_FACE_ID = 0

Definition at line 30 of file nfd-constants.hpp.