A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add XBT_PUBLIC_CLASS macro, and a bunch of XBT_PUBLIC declarations
[simgrid.git]
/
src
/
surf
/
network_cm02.hpp
diff --git
a/src/surf/network_cm02.hpp
b/src/surf/network_cm02.hpp
index
bd8821a
..
c31c1c9
100644
(file)
--- a/
src/surf/network_cm02.hpp
+++ b/
src/surf/network_cm02.hpp
@@
-1,3
+1,9
@@
+/* 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"
#include "network_interface.hpp"
#include "xbt/fifo.h"
#include "xbt/graph.h"
@@
-11,11
+17,11
@@
class NetworkCm02Model;
typedef NetworkCm02Model *NetworkCm02ModelPtr;
class NetworkCm02Model;
typedef NetworkCm02Model *NetworkCm02ModelPtr;
-class NetworkCm02Link
Lmm
;
-typedef NetworkCm02Link
Lmm *NetworkCm02LinkLmm
Ptr;
+class NetworkCm02Link;
+typedef NetworkCm02Link
*NetworkCm02Link
Ptr;
-class NetworkCm02Action
Lmm
;
-typedef NetworkCm02Action
Lmm *NetworkCm02ActionLmm
Ptr;
+class NetworkCm02Action;
+typedef NetworkCm02Action
*NetworkCm02Action
Ptr;
/*********
* Tools *
/*********
* Tools *
@@
-34,7
+40,7
@@
public:
f_networkSolve = lmm_solve;
m_haveGap = false;
};//FIXME: add network clean interface
f_networkSolve = lmm_solve;
m_haveGap = false;
};//FIXME: add network clean interface
- NetworkCm02Model(
string
name) : NetworkModel(name) {
+ NetworkCm02Model(
const char *
name) : NetworkModel(name) {
this->initialize();
}
NetworkCm02Model() : NetworkModel("network") {
this->initialize();
}
NetworkCm02Model() : NetworkModel("network") {
@@
-52,7
+58,6
@@
public:
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties);
void updateActionsStateLazy(double now, double delta);
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties);
void updateActionsStateLazy(double now, double delta);
- void gapAppend(double /*size*/, const NetworkCm02LinkLmmPtr /*link*/, NetworkCm02ActionLmmPtr /*action*/) {};
ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
};
ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
};
@@
-61,9
+66,9
@@
public:
* Resource *
************/
* Resource *
************/
-class NetworkCm02Link
Lmm : public NetworkLinkLmm
{
+class NetworkCm02Link
: public NetworkLink
{
public:
public:
- NetworkCm02Link
Lmm
(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,
lmm_system_t system,
double constraint_value,
tmgr_history_t history,
@@
-75,6
+80,8
@@
public:
tmgr_trace_t lat_trace,
e_surf_link_sharing_policy_t policy);
void updateState(tmgr_trace_event_t event_type, double value, double date);
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());
};
};
@@
-82,10
+89,12
@@
public:
* Action *
**********/
* Action *
**********/
-class NetworkCm02ActionLmm : public NetworkActionLmm {
+class NetworkCm02Action : public NetworkAction {
+ friend ActionPtr NetworkCm02Model::communicate(RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate);
+
public:
public:
- NetworkCm02Action
Lmm
(ModelPtr model, double cost, bool failed)
- : Action(model, cost, failed) {};
+ NetworkCm02Action(ModelPtr model, double cost, bool failed)
+ :
Network
Action(model, cost, failed) {};
void updateRemainingLazy(double now);
void recycle();
};
void updateRemainingLazy(double now);
void recycle();
};