*********/
class NetworkCm02Model : public Model {
public:
+ NetworkCm02Model(int i) : Model("network") {};//FIXME: add network clean interface
NetworkCm02Model(string name);
NetworkCm02Model();
//FIXME:NetworkCm02LinkPtr createResource(string name);
xbt_dict_t properties);
void updateActionsStateLazy(double now, double delta);
virtual void gapAppend(double size, const NetworkCm02LinkLmmPtr link, NetworkCm02ActionLmmPtr action) {};
- NetworkCm02ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
+ virtual ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
xbt_dynar_t getRoute(RoutingEdgePtr src, RoutingEdgePtr dst); //FIXME: kill field? That is done by the routing nowadays
//FIXME: virtual void addTraces() =0;
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,