Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
transfer some parts of the initialization from SIMIX_global_init to EngineImpl::initi...
[simgrid.git] / src / surf / HostImpl.hpp
index 2429c3d..6ac9e5a 100644 (file)
@@ -51,6 +51,7 @@ class XBT_PRIVATE HostImpl : public xbt::PropertyHolder {
   s4u::Host piface_;
   std::vector<kernel::resource::DiskImpl*> disks_;
   xbt::string name_{"noname"};
+  bool sealed_ = false;
 
 protected:
   virtual ~HostImpl(); // Use destroy() instead of this destructor.
@@ -63,7 +64,7 @@ public:
   void destroy(); // Must be called instead of the destructor
 
   std::vector<s4u::Disk*> get_disks() const;
-  void set_disks(const std::vector<kernel::resource::DiskImpl*>& disks, s4u::Host* host);
+  s4u::Disk* create_disk(const std::string& name, double read_bandwidth, double write_bandwidth);
   void add_disk(const s4u::Disk* disk);
   void remove_disk(const std::string& disk_name);
 
@@ -83,6 +84,8 @@ public:
   void remove_actor(kernel::actor::ActorImpl* actor) { xbt::intrusive_erase(actor_list_, *actor); }
   void add_actor_at_boot(kernel::actor::ProcessArg* arg) { actors_at_boot_.emplace_back(arg); }
 
+  void seal();
+
   template <class F> void foreach_actor(F function)
   {
     for (auto& actor : actor_list_)