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
Extend Link interface in order to handle links with multiple bandwidths.
[simgrid.git]
/
src
/
surf
/
network_cm02.hpp
diff --git
a/src/surf/network_cm02.hpp
b/src/surf/network_cm02.hpp
index
689ba92
..
8cfa9ff
100644
(file)
--- a/
src/surf/network_cm02.hpp
+++ b/
src/surf/network_cm02.hpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2013-201
8
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2013-201
9
. 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. */
/* 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. */
@@
-17,31
+17,26
@@
***********/
namespace simgrid {
***********/
namespace simgrid {
- namespace surf {
+namespace kernel {
+namespace resource {
- class XBT_PRIVATE NetworkCm02Model;
- class XBT_PRIVATE NetworkCm02Action;
- class XBT_PRIVATE NetworkSmpiModel;
-
- }
-}
+class XBT_PRIVATE NetworkCm02Model;
+class XBT_PRIVATE NetworkCm02Action;
+class XBT_PRIVATE NetworkSmpiModel;
/*********
* Model *
*********/
/*********
* Model *
*********/
-namespace simgrid {
-namespace surf {
-
class NetworkCm02Model : public NetworkModel {
public:
class NetworkCm02Model : public NetworkModel {
public:
- explicit NetworkCm02Model(
kernel::lmm::System* (*make_new_sys)(bool) = &simgrid::kernel::
lmm::make_new_maxmin_system);
+ explicit NetworkCm02Model(
lmm::System* (*make_new_sys)(bool) = &
lmm::make_new_maxmin_system);
virtual ~NetworkCm02Model() = default;
virtual ~NetworkCm02Model() = default;
- LinkImpl* create
L
ink(const std::string& name, double bandwidth, double latency,
-
e_surf_link_sharing_policy_t
policy) override;
+ LinkImpl* create
_l
ink(const std::string& name, double bandwidth, double latency,
+
s4u::Link::SharingPolicy
policy) override;
void update_actions_state_lazy(double now, double delta) override;
void update_actions_state_full(double now, double delta) override;
void update_actions_state_lazy(double now, double delta) override;
void update_actions_state_full(double now, double delta) override;
-
kernel::resource::
Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override;
+ Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override;
};
/************
};
/************
@@
-51,11
+46,13
@@
public:
class NetworkCm02Link : public LinkImpl {
public:
NetworkCm02Link(NetworkCm02Model* model, const std::string& name, double bandwidth, double latency,
class NetworkCm02Link : public LinkImpl {
public:
NetworkCm02Link(NetworkCm02Model* model, const std::string& name, double bandwidth, double latency,
- e_surf_link_sharing_policy_t policy, kernel::lmm::System* system);
+ s4u::Link::SharingPolicy policy, lmm::System* system);
+ NetworkCm02Link(NetworkCm02Model* model, const std::string& name, std::vector<double> bandwidths,
+ s4u::Link::SharingPolicy policy, lmm::System* system);
virtual ~NetworkCm02Link() = default;
virtual ~NetworkCm02Link() = default;
- void apply_event(
tmgr_trace_event_t
event, double value) override;
- void set
B
andwidth(double value) override;
- void set
L
atency(double value) override;
+ void apply_event(
kernel::profile::Event*
event, double value) override;
+ void set
_b
andwidth(double value) override;
+ void set
_l
atency(double value) override;
};
/**********
};
/**********
@@
-63,14
+60,13
@@
public:
**********/
class NetworkCm02Action : public NetworkAction {
friend Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Host* dst, double size, double rate);
**********/
class NetworkCm02Action : public NetworkAction {
friend Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Host* dst, double size, double rate);
- friend NetworkSmpiModel;
public:
public:
- NetworkCm02Action(
kernel::resource::
Model* model, double cost, bool failed) : NetworkAction(model, cost, failed){};
+ NetworkCm02Action(Model* model, double cost, bool failed) : NetworkAction(model, cost, failed){};
virtual ~NetworkCm02Action() = default;
void update_remains_lazy(double now) override;
};
}
}
virtual ~NetworkCm02Action() = default;
void update_remains_lazy(double now) override;
};
}
}
-
+} // namespace simgrid
#endif /* SURF_NETWORK_CM02_HPP_ */
#endif /* SURF_NETWORK_CM02_HPP_ */