summaryrefslogtreecommitdiff
path: root/src/DHTBucketTree.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-22 01:10:38 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-22 01:10:38 +0900
commit07d270c87e6f9184aea4ca17eb26e466712e8db2 (patch)
tree2dfbaa2e0d2ad0f38cb73098608f7d67a64320f8 /src/DHTBucketTree.h
parent126a4bde612eb0e6c48cf2f13ebe3eac45cc71a8 (diff)
Require -std=c++11 and use std::shared_ptr instead of SharedHandle
Diffstat (limited to 'src/DHTBucketTree.h')
-rw-r--r--src/DHTBucketTree.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/DHTBucketTree.h b/src/DHTBucketTree.h
index 46d32b2c..96059bd5 100644
--- a/src/DHTBucketTree.h
+++ b/src/DHTBucketTree.h
@@ -38,8 +38,8 @@
#include "common.h"
#include <vector>
+#include <memory>
-#include "SharedHandle.h"
#include "DHTConstants.h"
namespace aria2 {
@@ -55,20 +55,20 @@ public:
// Ctor for internal node
DHTBucketTreeNode(DHTBucketTreeNode* left, DHTBucketTreeNode* right);
// Ctor for leaf node
- DHTBucketTreeNode(const SharedHandle<DHTBucket>& bucket);
+ DHTBucketTreeNode(const std::shared_ptr<DHTBucket>& bucket);
~DHTBucketTreeNode();
// Returns child node, left or right, which contains key. If dig is
// called against leaf node, then returns 0.
DHTBucketTreeNode* dig(const unsigned char* key);
bool isInRange(const unsigned char* key) const;
// Returns true iff this is a leaf node.
- bool leaf() const { return bucket_; }
+ bool leaf() const { return bucket_.get(); }
const unsigned char* getMaxId() const { return maxId_; }
const unsigned char* getMinId() const { return minId_; }
DHTBucketTreeNode* getParent() const { return parent_; }
DHTBucketTreeNode* getLeft() const { return left_; }
DHTBucketTreeNode* getRight() const { return right_; }
- const SharedHandle<DHTBucket>& getBucket() const { return bucket_; }
+ const std::shared_ptr<DHTBucket>& getBucket() const { return bucket_; }
// Splits this object's bucket using DHTBucket::split() and create
// left and right child node to hold buckets. The bucket of current
// node is reseted so this node becomes internal node after this
@@ -85,7 +85,7 @@ private:
DHTBucketTreeNode* parent_;
DHTBucketTreeNode* left_;
DHTBucketTreeNode* right_;
- SharedHandle<DHTBucket> bucket_;
+ std::shared_ptr<DHTBucket> bucket_;
unsigned char minId_[DHT_ID_LENGTH];
unsigned char maxId_[DHT_ID_LENGTH];
};
@@ -100,7 +100,7 @@ DHTBucketTreeNode* findTreeNodeFor
// Returns bucket where key fits between bucket's min and max ID
// range. This function first use findTreeNodeFor and returns its
// bucket_.
-SharedHandle<DHTBucket> findBucketFor
+std::shared_ptr<DHTBucket> findBucketFor
(DHTBucketTreeNode* root, const unsigned char* key);
// Stores most closest K nodes against key in nodes. K is
@@ -108,13 +108,13 @@ SharedHandle<DHTBucket> findBucketFor
// the routing tree contains less than K nodes. The order of nodes is
// arbitrary. Caller must pass empty nodes.
void findClosestKNodes
-(std::vector<SharedHandle<DHTNode> >& nodes,
+(std::vector<std::shared_ptr<DHTNode> >& nodes,
DHTBucketTreeNode* root,
const unsigned char* key);
// Stores all buckets in buckets.
void enumerateBucket
-(std::vector<SharedHandle<DHTBucket> >& buckets, DHTBucketTreeNode* root);
+(std::vector<std::shared_ptr<DHTBucket> >& buckets, DHTBucketTreeNode* root);
} // namespace dht