Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update python/clusters-multicpu to the new API.
[simgrid.git] / examples / cpp / dht-kademlia / routing_table.hpp
index 9756edfc7e958df8edcf637fa540e7181038a697..de213a62c0b8202e5544607e064bbddff83ceec0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2021. The SimGrid Team.
+/* Copyright (c) 2012-2023. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -14,11 +14,15 @@ namespace kademlia {
 
 /* Routing table bucket */
 class Bucket {
-  unsigned int id_; // bucket id
 public:
+  const unsigned int id_;          // bucket id
   std::deque<unsigned int> nodes_; // Nodes in the bucket.
   unsigned int getId() const { return id_; }
-  explicit Bucket(unsigned int id) noexcept : id_(id) {}
+  explicit Bucket(unsigned int id) : id_(id) {}
+  // Use rule-of-three, and implicitely disable the move constructor which cannot be 'noexcept' (as required by C++ Core
+  // Guidelines), due to the std::deque member.
+  Bucket(const Bucket&) = default;
+  ~Bucket()             = default;
 };
 
 /* Node routing table */