7 class NetworkSmpiModel;
8 typedef NetworkSmpiModel *NetworkSmpiModelPtr;
10 class NetworkSmpiLink;
11 typedef NetworkSmpiLink *NetworkSmpiLinkPtr;
13 class NetworkSmpiLinkLmm;
14 typedef NetworkSmpiLinkLmm *NetworkSmpiLinkLmmPtr;
16 class NetworkSmpiAction;
17 typedef NetworkSmpiAction *NetworkSmpiActionPtr;
19 class NetworkSmpiActionLmm;
20 typedef NetworkSmpiActionLmm *NetworkSmpiActionLmmPtr;
30 class NetworkSmpiModel : public NetworkCm02Model {
33 void gapAppend(double size, const NetworkCm02LinkLmmPtr link, NetworkCm02ActionLmmPtr action);
34 void gapRemove(ActionLmmPtr action);
35 double latencyFactor(double size);
36 double bandwidthFactor(double size);
37 double bandwidthConstraint(double rate, double bound, double size);
38 void communicateCallBack() {};
46 class NetworkSmpiLinkLmm : public NetworkCm02LinkLmm {
48 NetworkSmpiLinkLmm(NetworkSmpiModelPtr model, const char *name, xbt_dict_t props,
50 double constraint_value,
51 tmgr_history_t history,
52 e_surf_resource_state_t state_init,
53 tmgr_trace_t state_trace,
55 tmgr_trace_t metric_trace,
57 tmgr_trace_t lat_trace,
58 e_surf_link_sharing_policy_t policy);
66 class NetworkSmpiActionLmm : public NetworkCm02ActionLmm {
68 NetworkSmpiActionLmm(ModelPtr model, double cost, bool failed);