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
woops, stupid ugly typo
[simgrid.git]
/
src
/
s4u
/
s4u_netzone.cpp
diff --git
a/src/s4u/s4u_netzone.cpp
b/src/s4u/s4u_netzone.cpp
index
1eec476
..
e4f6989
100644
(file)
--- a/
src/s4u/s4u_netzone.cpp
+++ b/
src/s4u/s4u_netzone.cpp
@@
-18,12
+18,12
@@
namespace s4u {
simgrid::xbt::signal<void(bool symmetrical, kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst,
kernel::routing::NetPoint* gw_src, kernel::routing::NetPoint* gw_dst,
simgrid::xbt::signal<void(bool symmetrical, kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst,
kernel::routing::NetPoint* gw_src, kernel::routing::NetPoint* gw_dst,
- std::vector<surf::LinkImpl*>
*
link_list)>
+ std::vector<surf::LinkImpl*>
&
link_list)>
NetZone::onRouteCreation;
simgrid::xbt::signal<void(NetZone&)> NetZone::onCreation;
simgrid::xbt::signal<void(NetZone&)> NetZone::onSeal;
NetZone::onRouteCreation;
simgrid::xbt::signal<void(NetZone&)> NetZone::onCreation;
simgrid::xbt::signal<void(NetZone&)> NetZone::onSeal;
-NetZone::NetZone(NetZone* father,
const char* name) : father_(father), name_(xbt_strdup(name)
)
+NetZone::NetZone(NetZone* father,
std::string name) : father_(father), name_(name
)
{
children_ = new std::vector<NetZone*>();
}
{
children_ = new std::vector<NetZone*>();
}
@@
-35,13
+35,12
@@
void NetZone::seal()
NetZone::~NetZone()
{
NetZone::~NetZone()
{
- for (auto nz : *children_)
+ for (auto
const&
nz : *children_)
delete nz;
delete children_;
delete nz;
delete children_;
- xbt_free(name_);
}
}
-std::unordered_map<std::string, std::string>* NetZone::
p
roperties()
+std::unordered_map<std::string, std::string>* NetZone::
getP
roperties()
{
return simgrid::simix::kernelImmediate([this] {
return &properties_;
{
return simgrid::simix::kernelImmediate([this] {
return &properties_;
@@
-49,7
+48,7
@@
std::unordered_map<std::string, std::string>* NetZone::properties()
}
/** Retrieve the property value (or nullptr if not set) */
}
/** Retrieve the property value (or nullptr if not set) */
-const char* NetZone::
p
roperty(const char* key)
+const char* NetZone::
getP
roperty(const char* key)
{
return properties_.at(key).c_str();
}
{
return properties_.at(key).c_str();
}
@@
-60,37
+59,54
@@
void NetZone::setProperty(const char* key, const char* value)
});
}
});
}
-std::vector<NetZone*>* NetZone::children()
+/** @brief Returns the list of direct children (no grand-children)
+ *
+ * This function returns the internal copy of the children, not a copy. Don't mess with it!
+ */
+std::vector<NetZone*>* NetZone::getChildren()
{
return children_;
}
{
return children_;
}
-char* NetZone::name()
+
+const char* NetZone::getCname() const
{
{
- return name_;
+ return name_
.c_str()
;
}
}
-NetZone* NetZone::
f
ather()
+NetZone* NetZone::
getF
ather()
{
return father_;
}
{
return father_;
}
-void NetZone::
h
osts(std::vector<s4u::Host*>* whereto)
+void NetZone::
getH
osts(std::vector<s4u::Host*>* whereto)
{
{
- for (auto card : vertices_) {
- s4u::Host* host = simgrid::s4u::Host::by_name_or_null(card->
n
ame());
+ for (auto c
onst& c
ard : vertices_) {
+ s4u::Host* host = simgrid::s4u::Host::by_name_or_null(card->
getN
ame());
if (host != nullptr)
whereto->push_back(host);
}
}
if (host != nullptr)
whereto->push_back(host);
}
}
+int NetZone::getHostCount()
+{
+ int count = 0;
+ for (auto const& card : vertices_) {
+ s4u::Host* host = simgrid::s4u::Host::by_name_or_null(card->getName());
+ if (host != nullptr)
+ count++;
+ }
+ return count;
+}
+
int NetZone::addComponent(kernel::routing::NetPoint* elm)
{
vertices_.push_back(elm);
return vertices_.size() - 1; // The rank of the newly created object
}
int NetZone::addComponent(kernel::routing::NetPoint* elm)
{
vertices_.push_back(elm);
return vertices_.size() - 1; // The rank of the newly created object
}
-void NetZone::addRoute(sg_platf_route_cbarg_t /*route*/)
+void NetZone::addRoute(sg_netpoint_t /*src*/, sg_netpoint_t /*dst*/, sg_netpoint_t /*gw_src*/, sg_netpoint_t /*gw_dst*/,
+ std::vector<simgrid::surf::LinkImpl*>& /*link_list*/, bool /*symmetrical*/)
{
{
- xbt_die("NetZone '%s' does not accept new routes (wrong class).", name_);
+ xbt_die("NetZone '%s' does not accept new routes (wrong class).", name_
.c_str()
);
}
}
}; // namespace simgrid::s4u
}
}
}; // namespace simgrid::s4u