-class XBT_PRIVATE HostImpl : public xbt::PropertyHolder {
- std::vector<kernel::actor::ProcessArg*> actors_at_boot_;
- s4u::Host* piface_ = nullptr; // we must have a pointer there because the VM wants to change the piface in its ctor
- std::vector<kernel::resource::DiskImpl*> disks_;
+class XBT_PRIVATE HostImpl : public xbt::PropertyHolder, public actor::ObjectAccessSimcallItem {
+ using ActorList =
+ boost::intrusive::list<actor::ActorImpl,
+ boost::intrusive::member_hook<actor::ActorImpl, boost::intrusive::list_member_hook<>,
+ &actor::ActorImpl::host_actor_list_hook>>;
+
+ ActorList actor_list_;
+ std::vector<actor::ProcessArg*> actors_at_boot_;
+ s4u::Host piface_;
+ std::map<std::string, DiskImpl*, std::less<>> disks_;
+ std::map<std::string, VirtualMachineImpl*, std::less<>> vms_;
+ std::string name_{"noname"};
+ routing::NetZoneImpl* englobing_zone_ = nullptr;
+ bool sealed_ = false;
+
+protected:
+ virtual ~HostImpl(); // Use destroy() instead of this destructor.