22 #ifndef NDN_NAME_LITE_HPP
23 #define NDN_NAME_LITE_HPP
25 #include "../c/errors.h"
26 #include "util/blob-lite.hpp"
27 #include "../c/name-types.h"
85 (
const uint8_t* prefix,
size_t prefixLength, uint64_t& result)
const;
94 hasPrefix(
const uint8_t* prefix,
size_t prefixLength)
const;
243 append(
const uint8_t* value,
size_t valueLength);
265 return append(component.getValue().
buf(), component.getValue().
size());
276 append(
const char *value);
292 appendSegment(uint64_t segment, uint8_t* buffer,
size_t bufferLength);
309 (uint64_t segmentOffset, uint8_t* buffer,
size_t bufferLength);
326 appendVersion(uint64_t version, uint8_t* buffer,
size_t bufferLength);
343 appendTimestamp(uint64_t timestamp, uint8_t* buffer,
size_t bufferLength);
360 (uint64_t sequenceNumber, uint8_t* buffer,
size_t bufferLength);
ndn_Error append(const uint8_t *value, size_t valueLength)
Append a component to this name with the bytes in the given buffer.
Definition: name-lite.cpp:120
size_t size() const
Return size given to the constructor.
Definition: blob-lite.hpp:61
ndn_Error toTimestamp(uint64_t &result) const
Interpret this name component as a timestamp according to NDN naming conventions for "Timestamp" (mar...
Definition: name-lite.cpp:82
Copyright (C) 2013-2015 Regents of the University of California.
Definition: common.hpp:35
int compare(const Component &other) const
Compare this component to the other component using NDN component ordering.
Definition: name-lite.cpp:94
ndn_Error append(const NameLite::Component &component)
Append a component to this name with the bytes in the given component.
Definition: name-lite.hpp:263
ndn_Error appendSegment(uint64_t segment, uint8_t *buffer, size_t bufferLength)
Append a component with the encoded segment number according to NDN naming conventions for "Segment n...
Definition: name-lite.cpp:129
uint64_t toNumber() const
Interpret the name component as a network-ordered number and return an integer.
Definition: name-lite.cpp:38
A NameLite holds an array of NameLite::Component.
Definition: name-lite.hpp:34
ndn_Error toNumberWithMarker(uint8_t marker, uint64_t &result) const
Interpret the name component as a network-ordered number with a marker and return an integer...
Definition: name-lite.cpp:44
bool match(const NameLite &name) const
Check if the N components of this name are the same as the first N components of the given name...
Definition: name-lite.cpp:111
ndn_Error appendSegmentOffset(uint64_t segmentOffset, uint8_t *buffer, size_t bufferLength)
Append a component with the encoded segment byte offset according to NDN naming conventions for segme...
Definition: name-lite.cpp:140
struct ndn_NameComponent * components
pointer to the array of components.
Definition: name-types.h:41
static BlobLite & upCast(ndn_Blob &blob)
Upcast the reference to the ndn_Blob struct to a BlobLite.
Definition: blob-lite.hpp:69
ndn_Error toNumberWithPrefix(const uint8_t *prefix, size_t prefixLength, uint64_t &result) const
Interpret the name component as a network-ordered number with a prefix and return an integer...
Definition: name-lite.cpp:51
ndn_Error set(const NameLite &other)
Set this name to have the values from the other name.
Definition: name-lite.cpp:181
size_t nComponents
the number of components in the name
Definition: name-types.h:43
Copyright (C) 2015 Regents of the University of California.
Definition: name-types.h:33
struct ndn_Blob value
A Blob with a pointer to the pre-allocated buffer for the component value.
Definition: name-types.h:34
void clear()
Clear all the components.
Definition: name-lite.cpp:117
An ndn_Name holds an array of ndn_NameComponent.
Definition: name-types.h:40
A NameLite::Component holds a pointer to the component value.
Definition: name-lite.hpp:39
A BlobLite holds a pointer to an immutable pre-allocated buffer and its length This is like a JavaScr...
Definition: blob-lite.hpp:37
bool hasPrefix(const uint8_t *prefix, size_t prefixLength) const
Check if this name component begins with the given prefix.
Definition: name-lite.cpp:58
ndn_Error append(const BlobLite &value)
Append a component to this name with the bytes in the given blob.
Definition: name-lite.hpp:253
static Component & upCast(ndn_NameComponent &component)
Upcast the reference to the ndn_NameComponent struct to a NameLite::Component.
Definition: name-lite.hpp:168
const uint8_t * buf() const
Return buf given to the constructor.
Definition: blob-lite.hpp:55
size_t maxComponents
the number of elements in the allocated components array
Definition: name-types.h:42
NameLite(ndn_NameComponent *components, size_t maxComponents)
Create a NameLite to use the components array.
Definition: name-lite.cpp:99
static NameLite & upCast(ndn_Name &name)
Upcast the reference to the ndn_Name struct to a NameLite.
Definition: name-lite.hpp:377
ndn_Error appendTimestamp(uint64_t timestamp, uint8_t *buffer, size_t bufferLength)
Append a component with the encoded timestamp according to NDN naming conventions for "Timestamp" (ma...
Definition: name-lite.cpp:160
ndn_Error toSegmentOffset(uint64_t &result) const
Interpret this name component as a segment byte offset according to NDN naming conventions for segmen...
Definition: name-lite.cpp:70
bool equals(const NameLite &name)
Check if this name has the same component count and components as the given name. ...
Definition: name-lite.cpp:105
size_t size() const
Get the number of components.
Definition: name-lite.hpp:206
ndn_Error appendVersion(uint64_t version, uint8_t *buffer, size_t bufferLength)
Append a component with the encoded version number according to NDN naming conventions for "Versionin...
Definition: name-lite.cpp:150
ndn_Error toSequenceNumber(uint64_t &result) const
Interpret this name component as a sequence number according to NDN naming conventions for "Sequencin...
Definition: name-lite.cpp:88
ndn_Error appendSequenceNumber(uint64_t sequenceNumber, uint8_t *buffer, size_t bufferLength)
Append a component with the encoded sequence number according to NDN naming conventions for "Sequenci...
Definition: name-lite.cpp:171
Component()
Create a NameLite::Component of zero size.
Definition: name-lite.cpp:27
ndn_Error toVersion(uint64_t &result) const
Interpret this name component as a version number according to NDN naming conventions for "Versioning...
Definition: name-lite.cpp:76
ndn_Error toSegment(uint64_t &result) const
Interpret this name component as a segment number according to NDN naming conventions for "Segment nu...
Definition: name-lite.cpp:64