+/* Copyright (c) 2013-2014. 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_interface.hpp"
#include "xbt/fifo.h"
#include "xbt/graph.h"
class NetworkCm02Model;
typedef NetworkCm02Model *NetworkCm02ModelPtr;
-class NetworkCm02LinkLmm;
-typedef NetworkCm02LinkLmm *NetworkCm02LinkLmmPtr;
+class NetworkCm02Link;
+typedef NetworkCm02Link *NetworkCm02LinkPtr;
-class NetworkCm02ActionLmm;
-typedef NetworkCm02ActionLmm *NetworkCm02ActionLmmPtr;
+class NetworkCm02Action;
+typedef NetworkCm02Action *NetworkCm02ActionPtr;
/*********
* Tools *
* Resource *
************/
-class NetworkCm02LinkLmm : public NetworkLinkLmm {
+class NetworkCm02Link : public NetworkLink {
public:
- NetworkCm02LinkLmm(NetworkCm02ModelPtr model, const char *name, xbt_dict_t props,
+ NetworkCm02Link(NetworkCm02ModelPtr model, const char *name, xbt_dict_t props,
lmm_system_t system,
double constraint_value,
tmgr_history_t history,
tmgr_trace_t lat_trace,
e_surf_link_sharing_policy_t policy);
void updateState(tmgr_trace_event_t event_type, double value, double date);
+ void updateBandwidth(double value, double date=surf_get_clock());
+ void updateLatency(double value, double date=surf_get_clock());
};
* Action *
**********/
-class NetworkCm02ActionLmm : public NetworkActionLmm {
+class NetworkCm02Action : public NetworkAction {
friend ActionPtr NetworkCm02Model::communicate(RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate);
public:
- NetworkCm02ActionLmm(ModelPtr model, double cost, bool failed)
- : Action(model, cost, failed) {};
+ NetworkCm02Action(ModelPtr model, double cost, bool failed)
+ : NetworkAction(model, cost, failed) {};
void updateRemainingLazy(double now);
void recycle();
};