]> AND Public Git Repository - simgrid.git/blobdiff - examples/s4u/dht-kademlia/routing_table.hpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix build on 32bits
[simgrid.git] / examples / s4u / dht-kademlia / routing_table.hpp
index c77b216d75249adad8a565f15d545f182d55ba8f..dda621743954dca379c2dab010c2b30a797b9aed 100644 (file)
@@ -16,23 +16,24 @@ namespace kademlia {
 class Bucket {
   unsigned int id_; // bucket id
 public:
-  std::deque<unsigned int> nodes; // Nodes in the bucket.
+  std::deque<unsigned int> nodes_; // Nodes in the bucket.
   unsigned int getId() const { return id_; }
-  explicit Bucket(unsigned int id) : id_(id) {}
+  explicit Bucket(unsigned int id) noexcept : id_(id) {}
 };
 
 /* Node routing table */
 class RoutingTable {
   unsigned int id_; // node id of the client's routing table
+  std::vector<Bucket> buckets_; // Node bucket list
 public:
-  std::vector<Bucket> buckets; // Node bucket list - 160 sized.
   explicit RoutingTable(unsigned int node_id);
   RoutingTable(const RoutingTable&) = delete;
   RoutingTable& operator=(const RoutingTable&) = delete;
   void print() const;
   Bucket* findBucket(unsigned int id);
+  const Bucket& getBucketAt(unsigned int pos) const { return buckets_[pos]; }
   bool contains(unsigned int node_id);
 };
-}
+} // namespace kademlia
 
 #endif