*********/
class NetworkCm02Model : public Model {
public:
+ NetworkCm02Model(int i) : Model("network") {};//FIXME: add network clean interface
NetworkCm02Model(string name);
NetworkCm02Model();
//FIXME:NetworkCm02LinkPtr createResource(string name);
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties);
void updateActionsStateLazy(double now, double delta);
- void updateActionsStateFull(double now, double delta);
virtual void gapAppend(double size, const NetworkCm02LinkLmmPtr link, NetworkCm02ActionLmmPtr action) {};
NetworkCm02ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
NetworkCm02Link(){};
NetworkCm02Link(NetworkCm02ModelPtr model, const char* name, xbt_dict_t properties) : Resource(model, name, properties) {};
virtual double getBandwidth()=0;
- double getLatency();
+ virtual double getLatency();
virtual bool isShared()=0;
/* Using this object with the public part of
model does not make sense */
class NetworkCm02LinkLmm : public ResourceLmm, public NetworkCm02Link {
public:
+ NetworkCm02LinkLmm(NetworkCm02ModelPtr model, const char* name, xbt_dict_t properties)
+ : ResourceLmm(), NetworkCm02Link(model, name, properties) {};
NetworkCm02LinkLmm(NetworkCm02ModelPtr model, const char *name, xbt_dict_t props,
lmm_system_t system,
double constraint_value,
**********/
class NetworkCm02Action : virtual public Action {
public:
- NetworkCm02Action(ModelPtr model, double cost, bool failed): Action(model, cost, failed) {};
+ NetworkCm02Action(ModelPtr model, double cost, bool failed)
+ : Action(model, cost, failed) {};
double m_latency;
double m_latCurrent;
double m_weight;
class NetworkCm02ActionLmm : public ActionLmm, public NetworkCm02Action {
public:
- NetworkCm02ActionLmm(ModelPtr model, double cost, bool failed): ActionLmm(model, cost, failed), NetworkCm02Action(model, cost, failed) {};
+ NetworkCm02ActionLmm(ModelPtr model, double cost, bool failed)
+ : Action(model, cost, failed),
+ ActionLmm(model, cost, failed),
+ NetworkCm02Action(model, cost, failed) {};
void updateRemainingLazy(double now);
void recycle();
};