1 /* Copyright (c) 2013-2015. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
9 #include "storage_interface.hpp"
10 #include "cpu_interface.hpp"
11 #include "host_interface.hpp"
12 #include "network_interface.hpp"
14 #ifndef SURF_HOST_CLM03_HPP_
15 #define SURF_HOST_CLM03_HPP_
24 class XBT_PRIVATE HostCLM03Model;
25 class XBT_PRIVATE HostCLM03;
26 class XBT_PRIVATE HostCLM03Action;
32 class HostCLM03Model : public HostModel {
34 HostCLM03Model(): HostModel(){}
36 Host *createHost(const char *name, RoutingEdge *netElm, Cpu *cpu, xbt_dict_t props) override;
37 double shareResources(double now) override;
39 void updateActionsState(double now, double delta) override;
41 Action *executeParallelTask(int host_nb,
45 double rate) override;
52 class HostCLM03 : public Host {
54 HostCLM03(HostModel *model, const char* name, xbt_dict_t properties, xbt_dynar_t storage, RoutingEdge *netElm, Cpu *cpu);
56 void updateState(tmgr_trace_event_t event_type, double value, double date) override;
58 bool isUsed() override;
71 #endif /* SURF_HOST_CLM03_HPP_ */