-/* Copyright (c) 2004-2016. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include "surf_interface.hpp"
#include "cpu_interface.hpp"
#include "network_interface.hpp"
#include "src/surf/PropertyHolder.hpp"
#include "StorageImpl.hpp"
-#include <xbt/base.h>
#ifndef SURF_HOST_INTERFACE_HPP_
#define SURF_HOST_INTERFACE_HPP_
-/***********
- * Classes *
- ***********/
-
-namespace simgrid {
-namespace surf {
-class XBT_PRIVATE HostAction;
-}
-}
-
-/*********
- * Tools *
- *********/
-
-XBT_PUBLIC_DATA(simgrid::surf::HostModel*) surf_host_model;
-
/*********
* Model *
*********/
* @brief SURF Host model interface class
* @details A model is an object which handle the interactions between its Resources and its Actions
*/
-class XBT_PRIVATE HostModel : public Model {
+class XBT_PRIVATE HostModel : public kernel::resource::Model {
public:
- HostModel() : Model() {}
+ HostModel() : Model(Model::UpdateAlgo::FULL) {}
- virtual void ignoreEmptyVmInPmLMM();
- virtual Action* executeParallelTask(int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount,
- double rate);
+ virtual void ignore_empty_vm_in_pm_LMM();
+ virtual kernel::resource::Action* execute_parallel(int host_nb, sg_host_t* host_list, double* flops_amount,
+ double* bytes_amount, double rate);
};
/************
virtual ~HostImpl() = default;
/** @brief Get the vector of storages (by names) attached to the Host */
- virtual void getAttachedStorageList(std::vector<const char*>* storages);
+ virtual std::vector<const char*> get_attached_storages();
std::map<std::string, simgrid::surf::StorageImpl*> storage_;
simgrid::s4u::Host* piface_ = nullptr;
-
- simgrid::s4u::Host* getHost() { return piface_; }
};
}
}
+XBT_PUBLIC_DATA simgrid::surf::HostModel* surf_host_model;
+
#endif /* SURF_Host_INTERFACE_HPP_ */