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<Link*>* link_list)>
+ std::vector<surf::LinkImpl*>* link_list)>
NetZone::onRouteCreation;
NetZone::NetZone(NetZone* father, const char* name) : father_(father), name_(xbt_strdup(name))
{
}
+
void NetZone::seal()
{
sealed_ = true;
{
xbt_dict_cursor_t cursor = nullptr;
char* key;
- NetZone_t elem;
+ NetZone* elem;
xbt_dict_foreach (children_, cursor, key, elem) {
delete static_cast<NetZone*>(elem);
}
+ delete hosts_;
xbt_dict_free(&children_);
xbt_free(name_);
}
std::unordered_map<std::string, std::string>* NetZone::properties()
{
- return simgrid::simix::kernelImmediate([=] {
+ return simgrid::simix::kernelImmediate([this] {
return &properties_;
});
}
}
void NetZone::setProperty(const char* key, const char* value)
{
- simgrid::simix::kernelImmediate([=,&key,&value] {
+ simgrid::simix::kernelImmediate([this,key,value] {
properties_[key] = value;
});
}
return father_;
}
-xbt_dynar_t NetZone::hosts()
+std::vector<s4u::Host*>* NetZone::hosts()
{
- xbt_dynar_t res = xbt_dynar_new(sizeof(sg_host_t), nullptr);
-
for (auto card : vertices_) {
s4u::Host* host = simgrid::s4u::Host::by_name_or_null(card->name());
if (host != nullptr)
- xbt_dynar_push(res, &host);
+ hosts_->push_back(host);
}
- return res;
+ return hosts_;
}
int NetZone::addComponent(kernel::routing::NetPoint* elm)