class ConstraintLight;
class System;
}
+namespace model {
+class Resource;
+}
namespace routing {
class NetPoint;
class NetZoneImpl;
}
namespace surf {
- class Resource;
class Cpu;
class LinkImpl;
class HostImpl;
typedef simgrid::s4u::VirtualMachine s4u_VM;
typedef boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl> smx_activity_t;
typedef simgrid::kernel::routing::NetPoint routing_NetPoint;
-typedef simgrid::surf::Resource surf_Resource;
+typedef simgrid::kernel::model::Resource surf_Resource;
typedef simgrid::trace_mgr::trace tmgr_Trace;
typedef simgrid::kernel::context::Context* smx_context_t;
* @brief SURF storage interface class
* @details A Storage represent a storage unit (e.g.: hard drive, usb key)
*/
-class StorageImpl : public Resource, public PropertyHolder {
+class StorageImpl : public kernel::model::Resource, public PropertyHolder {
public:
/** @brief Storage constructor */
StorageImpl(Model* model, std::string name, lmm_system_t maxminSystem, double bread, double bwrite,
for (int i = 0; i < llen; i++) {
/* Beware of composite actions: ptasks put links and cpus together */
// extra pb: we cannot dynamic_cast from void*...
- Resource* resource = static_cast<Resource*>(getVariable()->get_constraint(i)->get_id());
+ kernel::model::Resource* resource =
+ static_cast<kernel::model::Resource*>(getVariable()->get_constraint(i)->get_id());
Cpu* cpu = dynamic_cast<Cpu*>(resource);
if (cpu != nullptr)
retlist.push_back(cpu);
* @brief SURF cpu resource interface class
* @details A Cpu represent a cpu associated to a host
*/
-XBT_PUBLIC_CLASS Cpu : public simgrid::surf::Resource {
+XBT_PUBLIC_CLASS Cpu : public simgrid::kernel::model::Resource
+{
public:
/**
* @brief Cpu constructor
for (int i = 0; i < llen; i++) {
/* Beware of composite actions: ptasks put links and cpus together */
// extra pb: we cannot dynamic_cast from void*...
- Resource* resource = static_cast<Resource*>(getVariable()->get_constraint(i)->get_id());
+ kernel::model::Resource* resource =
+ static_cast<kernel::model::Resource*>(getVariable()->get_constraint(i)->get_id());
LinkImpl* link = dynamic_cast<LinkImpl*>(resource);
if (link != nullptr)
retlist.push_back(link);
* @brief SURF network link interface class
* @details A Link represents the link between two [hosts](\ref simgrid::surf::HostImpl)
*/
-class LinkImpl : public simgrid::surf::Resource, public simgrid::surf::PropertyHolder {
+class LinkImpl : public simgrid::kernel::model::Resource, public simgrid::surf::PropertyHolder {
protected:
LinkImpl(simgrid::surf::NetworkModel* model, const std::string& name, kernel::lmm::Constraint* constraint);
~LinkImpl() override;
while (cnst != nullptr) {
i++;
void* constraint_id = cnst->get_id();
- if (static_cast<simgrid::surf::Resource*>(constraint_id)->isOff()) {
+ if (static_cast<simgrid::kernel::model::Resource*>(constraint_id)->isOff()) {
XBT_DEBUG("Action (%p) Failed!!", &action);
action.finish(Action::State::failed);
break;
double next_event_date = -1.0;
tmgr_trace_event_t event = nullptr;
double value = -1.0;
- simgrid::surf::Resource *resource = nullptr;
+ simgrid::kernel::model::Resource* resource = nullptr;
XBT_DEBUG ("Consume all trace events occurring before the starting time.");
while ((next_event_date = future_evt_set->next_date()) != -1.0) {
double time_delta = -1.0; /* duration */
double model_next_action_end = -1.0;
double value = -1.0;
- simgrid::surf::Resource *resource = nullptr;
+ simgrid::kernel::model::Resource* resource = nullptr;
tmgr_trace_event_t event = nullptr;
if (max_date > 0.0) {
************/
namespace simgrid {
-namespace surf {
+namespace kernel {
+namespace model {
-Resource::Resource(Model* model, const std::string& name, kernel::lmm::Constraint* constraint)
+Resource::Resource(surf::Model* model, const std::string& name, lmm::Constraint* constraint)
: name_(name), model_(model), constraint_(constraint)
{}
return constraint_->get_usage();
}
-Model* Resource::model() const
+surf::Model* Resource::model() const
{
return model_;
}
}
}
+} // namespace kernel
}
/**********
};
namespace simgrid {
-namespace surf {
+namespace kernel {
+namespace model {
/** @ingroup SURF_interface
* @brief SURF resource interface class
* @param name The name of the Resource
* @param constraint The lmm constraint associated to this Resource if it is part of a LMM component
*/
- Resource(Model * model, const std::string& name, kernel::lmm::Constraint* constraint);
+ Resource(surf::Model * model, const std::string& name, lmm::Constraint* constraint);
virtual ~Resource();
/** @brief Get the Model of the current Resource */
- Model* model() const;
+ surf::Model* model() const;
/** @brief Get the name of the current Resource */
const std::string& getName() const;
private:
std::string name_;
- Model *model_;
+ surf::Model* model_;
bool isOn_ = true;
public: /* LMM */
protected:
const kernel::lmm::Constraint* constraint_ = nullptr;
};
-
+} // namespace model
}
}
namespace std {
-template <> class hash<simgrid::surf::Resource> {
+template <> class hash<simgrid::kernel::model::Resource> {
public:
- std::size_t operator()(const simgrid::surf::Resource& r) const { return (std::size_t)xbt_str_hash(r.getCname()); }
+ std::size_t operator()(const simgrid::kernel::model::Resource& r) const
+ {
+ return (std::size_t)xbt_str_hash(r.getCname());
+ }
};
}
}
/** @brief Registers a new trace into the future event set, and get an iterator over the integrated trace */
-tmgr_trace_event_t simgrid::trace_mgr::future_evt_set::add_trace(tmgr_trace_t trace, surf::Resource* resource)
+tmgr_trace_event_t simgrid::trace_mgr::future_evt_set::add_trace(tmgr_trace_t trace, kernel::model::Resource* resource)
{
tmgr_trace_event_t trace_iterator = nullptr;
/** @brief Retrieves the next occurring event, or nullptr if none happens before #date */
tmgr_trace_event_t simgrid::trace_mgr::future_evt_set::pop_leq(double date, double* value,
- simgrid::surf::Resource** resource)
+ kernel::model::Resource** resource)
{
double event_date = next_date();
if (event_date > date)
future_evt_set();
virtual ~future_evt_set();
double next_date() const;
- tmgr_trace_event_t pop_leq(double date, double* value, simgrid::surf::Resource** resource);
- tmgr_trace_event_t add_trace(tmgr_trace_t trace, simgrid::surf::Resource * resource);
+ tmgr_trace_event_t pop_leq(double date, double* value, simgrid::kernel::model::Resource** resource);
+ tmgr_trace_event_t add_trace(tmgr_trace_t trace, simgrid::kernel::model::Resource * resource);
private:
typedef std::pair<double, tmgr_trace_event_t> Qelt;
XBT_LOG_NEW_DEFAULT_CATEGORY(unit, "Unit tests of the Trace Manager");
double thedate;
-class MockedResource : public simgrid::surf::Resource {
+class MockedResource : public simgrid::kernel::model::Resource {
public:
- explicit MockedResource() : simgrid::surf::Resource(nullptr, "fake", nullptr) {}
+ explicit MockedResource() : simgrid::kernel::model::Resource(nullptr, "fake", nullptr) {}
void apply_event(tmgr_trace_event_t event, double value)
{
XBT_VERB("t=%.1f: Change value to %lg (idx: %u)", thedate, value, event->idx);
while (fes.next_date() <= 20.0 && fes.next_date() >= 0) {
thedate = fes.next_date();
double value;
- simgrid::surf::Resource* res;
+ simgrid::kernel::model::Resource* res;
tmgr_trace_event_t it = fes.pop_leq(thedate, &value, &res);
if (it == nullptr)
continue;