X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9b7342a771e25269c08f07d8a2fc086f71dcc3be..28c07426861c6c0b4e2333b803bf67f643b4a1c2:/src/surf/network_constant.hpp diff --git a/src/surf/network_constant.hpp b/src/surf/network_constant.hpp index 30958fdca5..5b8d25db14 100644 --- a/src/surf/network_constant.hpp +++ b/src/surf/network_constant.hpp @@ -1,3 +1,9 @@ +/* Copyright (c) 2013-2015. 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 "network_cm02.hpp" #ifndef NETWORK_CONSTANT_HPP_ @@ -7,34 +13,30 @@ * Classes * ***********/ class NetworkConstantModel; -typedef NetworkConstantModel *NetworkConstantModelPtr; - -class NetworkConstantLinkLmm; -typedef NetworkConstantLinkLmm *NetworkConstantLinkLmmPtr; - -class NetworkConstantActionLmm; -typedef NetworkConstantActionLmm *NetworkConstantActionLmmPtr; +class NetworkConstantAction; /********* * Model * *********/ class NetworkConstantModel : public NetworkCm02Model { public: - NetworkConstantModel() : NetworkCm02Model("constant time network") {}; + NetworkConstantModel() + : NetworkCm02Model() + { + p_updateMechanism = UM_UNDEFINED; + }; double shareResources(double now); void updateActionsState(double now, double delta); - ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst, - double size, double rate); - void gapRemove(ActionLmmPtr action); - //FIXME:virtual void addTraces() =0; + Action *communicate(RoutingEdge *src, RoutingEdge *dst, double size, double rate); + void gapRemove(Action *action); }; /************ * Resource * ************/ -class NetworkConstantLinkLmm : public NetworkCm02LinkLmm { +class NetworkConstantLink : public NetworkCm02Link { public: - NetworkConstantLinkLmm(NetworkCm02ModelPtr model, const char* name, xbt_dict_t properties); + NetworkConstantLink(NetworkCm02Model *model, const char* name, xbt_dict_t properties); bool isUsed(); void updateState(tmgr_trace_event_t event_type, double value, double date); double getBandwidth(); @@ -45,18 +47,20 @@ public: /********** * Action * **********/ -class NetworkConstantActionLmm : public NetworkCm02ActionLmm { +class NetworkConstantAction : public NetworkCm02Action { public: - NetworkConstantActionLmm(NetworkConstantModelPtr model, double size, double latency): - Action(model, size, false), NetworkCm02ActionLmm(model, 0, false), m_latInit(latency) { + NetworkConstantAction(NetworkConstantModel *model_, double size, double latency) + : NetworkCm02Action(model_, size, false) + , m_latInit(latency) + { m_latency = latency; if (m_latency <= 0.0) { - p_stateSet = p_model->p_doneActionSet; - xbt_swag_insert(static_cast(this), p_stateSet); + p_stateSet = getModel()->getDoneActionSet(); + p_stateSet->push_back(*this); } + p_variable = NULL; }; int unref(); - void recycle(); void cancel(); void setCategory(const char *category); void suspend();