23 #ifndef NDN_DIGEST_TREE_HPP
24 #define NDN_DIGEST_TREE_HPP
26 #include <ndn-cpp/common.hpp>
45 Node(
const std::string& dataPrefix,
int sessionNo,
int sequenceNo)
46 : dataPrefix_(dataPrefix),
47 sessionNo_(sessionNo),
48 sequenceNo_(sequenceNo)
54 getDataPrefix()
const {
return dataPrefix_; }
57 getSessionNo()
const {
return sessionNo_; }
60 getSequenceNo()
const {
return sequenceNo_; }
76 sequenceNo_ = sequenceNo;
87 (
const ptr_lib::shared_ptr<const Node>& node1,
88 const ptr_lib::shared_ptr<const Node>& node2)
const
90 int nameComparison = node1->dataPrefix_.compare(node2->dataPrefix_);
91 if (nameComparison != 0)
92 return nameComparison < 0;
94 return node1->sessionNo_ < node2->sessionNo_;
106 int32ToLittleEndian(uint32_t value, uint8_t* result);
108 std::string dataPrefix_;
125 update(
const std::string& dataPrefix,
int sessionNo,
int sequenceNo);
128 find(
const std::string& dataPrefix,
int sessionNo)
const;
131 size()
const {
return digestNode_.size(); }
134 get(
size_t i)
const {
return *digestNode_[i]; }
151 std::vector<ptr_lib::shared_ptr<DigestTree::Node> > digestNode_;
153 Node::Compare nodeCompare_;
Copyright (C) 2013-2016 Regents of the University of California.
Definition: common.hpp:35
const std::string & getDigest() const
Get the digest.
Definition: digest-tree.hpp:67
Node(const std::string &dataPrefix, int sessionNo, int sequenceNo)
Create a new DigestTree::Node with the given fields and compute the digest.
Definition: digest-tree.hpp:45
const std::string & getRoot() const
Get the root digest.
Definition: digest-tree.hpp:141
Compare shared_ptrs to Node based on dataPrefix_ and seqno_session_.
Definition: digest-tree.hpp:83
Definition: digest-tree.hpp:31
Definition: digest-tree.hpp:37
bool update(const std::string &dataPrefix, int sessionNo, int sequenceNo)
Update the digest tree and recompute the root digest.
Definition: digest-tree.cpp:73
void setSequenceNo(int sequenceNo)
Set the sequence number and recompute the digest.
Definition: digest-tree.hpp:74