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
33dbf91
..
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,10
+35,9
@@
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::getProperties()
}
std::unordered_map<std::string, std::string>* NetZone::getProperties()
@@
-60,13
+59,18
@@
void NetZone::setProperty(const char* key, const char* value)
});
}
});
}
+/** @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_;
}
std::vector<NetZone*>* NetZone::getChildren()
{
return children_;
}
-char* NetZone::getCname()
+
+const char* NetZone::getCname() const
{
{
- return name_;
+ return name_
.c_str()
;
}
NetZone* NetZone::getFather()
{
}
NetZone* NetZone::getFather()
{
@@
-75,22
+79,34
@@
NetZone* NetZone::getFather()
void NetZone::getHosts(std::vector<s4u::Host*>* whereto)
{
void NetZone::getHosts(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