From 3cd6f2bf8f8015a99c9bb351f568f32fe8429a0f Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Sat, 9 Sep 2017 18:23:12 +0200 Subject: [PATCH 1/1] Use C++ strings instead of char*. --- src/kernel/routing/DragonflyZone.cpp | 2 +- src/kernel/routing/DragonflyZone.hpp | 4 ++-- src/kernel/routing/VivaldiZone.cpp | 4 ++-- src/surf/network_cm02.cpp | 4 ++-- src/surf/network_cm02.hpp | 4 ++-- src/surf/network_constant.cpp | 8 ++++---- src/surf/network_constant.hpp | 6 +++--- src/surf/network_interface.cpp | 9 ++++----- src/surf/network_interface.hpp | 4 ++-- src/surf/network_ns3.cpp | 4 ++-- src/surf/network_ns3.hpp | 4 ++-- src/surf/ptask_L07.cpp | 6 +++--- src/surf/ptask_L07.hpp | 6 +++--- src/surf/sg_platf.cpp | 2 +- src/surf/surf_interface.cpp | 2 +- src/surf/surf_interface.hpp | 2 +- 16 files changed, 35 insertions(+), 36 deletions(-) diff --git a/src/kernel/routing/DragonflyZone.cpp b/src/kernel/routing/DragonflyZone.cpp index 1ea236fad5..e5f08466ce 100644 --- a/src/kernel/routing/DragonflyZone.cpp +++ b/src/kernel/routing/DragonflyZone.cpp @@ -161,7 +161,7 @@ void DragonflyZone::generateRouters() } } -void DragonflyZone::createLink(std::string id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown) +void DragonflyZone::createLink(const std::string& id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown) { *linkup = nullptr; *linkdown = nullptr; diff --git a/src/kernel/routing/DragonflyZone.hpp b/src/kernel/routing/DragonflyZone.hpp index ceeeda348f..6feea64578 100644 --- a/src/kernel/routing/DragonflyZone.hpp +++ b/src/kernel/routing/DragonflyZone.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2016. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2014-2017. 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. */ @@ -68,7 +68,7 @@ public: void seal() override; void generateRouters(); void generateLinks(); - void createLink(std::string id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown); + void createLink(const std::string& id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown); private: void rankId_to_coords(int rankId, unsigned int (*coords)[4]); diff --git a/src/kernel/routing/VivaldiZone.cpp b/src/kernel/routing/VivaldiZone.cpp index 77ff837c53..d1ea847b99 100644 --- a/src/kernel/routing/VivaldiZone.cpp +++ b/src/kernel/routing/VivaldiZone.cpp @@ -70,8 +70,8 @@ void VivaldiZone::setPeerLink(NetPoint* netpoint, double bw_in, double bw_out, s std::string link_up = "link_" + netpoint->name() + "_UP"; std::string link_down = "link_" + netpoint->name() + "_DOWN"; - surf::LinkImpl* linkUp = surf_network_model->createLink(link_up.c_str(), bw_out, 0, SURF_LINK_SHARED); - surf::LinkImpl* linkDown = surf_network_model->createLink(link_down.c_str(), bw_in, 0, SURF_LINK_SHARED); + surf::LinkImpl* linkUp = surf_network_model->createLink(link_up, bw_out, 0, SURF_LINK_SHARED); + surf::LinkImpl* linkDown = surf_network_model->createLink(link_down, bw_in, 0, SURF_LINK_SHARED); privateLinks_.insert({netpoint->id(), {linkUp, linkDown}}); } diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index 30e3b08d65..e0ae4e41af 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -165,7 +165,7 @@ NetworkCm02Model::NetworkCm02Model(void (*specificSolveFun)(lmm_system_t self)) maxminSystem_->solve_fun = specificSolveFun; } -LinkImpl* NetworkCm02Model::createLink(const char* name, double bandwidth, double latency, +LinkImpl* NetworkCm02Model::createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) { return new NetworkCm02Link(this, name, bandwidth, latency, policy, maxminSystem_); @@ -358,7 +358,7 @@ Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Host* dst, double siz /************ * Resource * ************/ -NetworkCm02Link::NetworkCm02Link(NetworkCm02Model* model, const char* name, double bandwidth, double latency, +NetworkCm02Link::NetworkCm02Link(NetworkCm02Model* model, const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy, lmm_system_t system) : LinkImpl(model, name, lmm_constraint_new(system, this, sg_bandwidth_factor * bandwidth)) { diff --git a/src/surf/network_cm02.hpp b/src/surf/network_cm02.hpp index 8ffa8ef3b0..7fd4187441 100644 --- a/src/surf/network_cm02.hpp +++ b/src/surf/network_cm02.hpp @@ -38,7 +38,7 @@ public: NetworkCm02Model(); explicit NetworkCm02Model(void (*solve_fun)(lmm_system_t self)); virtual ~NetworkCm02Model() = default; - LinkImpl* createLink(const char* name, double bandwidth, double latency, + LinkImpl* createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) override; void updateActionsStateLazy(double now, double delta) override; void updateActionsStateFull(double now, double delta) override; @@ -51,7 +51,7 @@ public: class NetworkCm02Link : public LinkImpl { public: - NetworkCm02Link(NetworkCm02Model* model, const char* name, double bandwidth, double latency, + NetworkCm02Link(NetworkCm02Model* model, const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy, lmm_system_t system); virtual ~NetworkCm02Link() = default; void apply_event(tmgr_trace_event_t event, double value) override; diff --git a/src/surf/network_constant.cpp b/src/surf/network_constant.cpp index 68a291a198..35a66b6bd0 100644 --- a/src/surf/network_constant.cpp +++ b/src/surf/network_constant.cpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2013-2017. 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. */ @@ -20,12 +19,13 @@ void surf_network_model_init_Constant() namespace simgrid { namespace surf { -LinkImpl* NetworkConstantModel::createLink(const char* name, double bw, double lat, e_surf_link_sharing_policy_t policy) +LinkImpl* NetworkConstantModel::createLink(const std::string& name, double bw, double lat, + e_surf_link_sharing_policy_t policy) { xbt_die("Refusing to create the link %s: there is no link in the Constant network model. " "Please remove any link from your platform (and switch to routing='None')", - name); + name.c_str()); return nullptr; } diff --git a/src/surf/network_constant.hpp b/src/surf/network_constant.hpp index 61e36a52d0..108941ced3 100644 --- a/src/surf/network_constant.hpp +++ b/src/surf/network_constant.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2013-2017. 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. */ @@ -30,7 +29,8 @@ namespace simgrid { double nextOccuringEvent(double now) override; void updateActionsState(double now, double delta) override; - LinkImpl* createLink(const char* name, double bw, double lat, e_surf_link_sharing_policy_t policy) override; + LinkImpl* createLink(const std::string& name, double bw, double lat, + e_surf_link_sharing_policy_t policy) override; }; /********** diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index d6f78f78e5..6e2569a32d 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -98,19 +98,18 @@ namespace simgrid { * Resource * ************/ - LinkImpl::LinkImpl(simgrid::surf::NetworkModel* model, const char* name, lmm_constraint_t constraint) + LinkImpl::LinkImpl(simgrid::surf::NetworkModel* model, const std::string& name, lmm_constraint_t constraint) : Resource(model, name, constraint), piface_(this) { - if (strcmp(name,"__loopback__")) - xbt_assert(not LinkImpl::byName(name), "Link '%s' declared several times in the platform.", name); + if (name != "__loopback__") + xbt_assert(not LinkImpl::byName(name), "Link '%s' declared several times in the platform.", name.c_str()); latency_.scale = 1; bandwidth_.scale = 1; links->insert({name, this}); - XBT_DEBUG("Create link '%s'",name); - + XBT_DEBUG("Create link '%s'", name.c_str()); } /** @brief use destroy() instead of this destructor */ diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index be484919a7..d8a3b0d10a 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -43,7 +43,7 @@ public: * @param latency The initial latency of the Link in seconds * @param policy The sharing policy of the Link */ - virtual LinkImpl* createLink(const char* name, double bandwidth, double latency, + virtual LinkImpl* createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) = 0; /** @@ -114,7 +114,7 @@ public: */ class LinkImpl : public simgrid::surf::Resource, public simgrid::surf::PropertyHolder { protected: - LinkImpl(simgrid::surf::NetworkModel* model, const char* name, lmm_constraint_t constraint); + LinkImpl(simgrid::surf::NetworkModel* model, const std::string& name, lmm_constraint_t constraint); ~LinkImpl() override; public: diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index dd0e1c9668..fe0fdee60f 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -166,7 +166,7 @@ NetworkNS3Model::~NetworkNS3Model() { xbt_dict_free(&flowFromSock); } -LinkImpl* NetworkNS3Model::createLink(const char* name, double bandwidth, double latency, +LinkImpl* NetworkNS3Model::createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) { return new LinkNS3(this, name, bandwidth, latency); @@ -257,7 +257,7 @@ void NetworkNS3Model::updateActionsState(double now, double delta) * Resource * ************/ -LinkNS3::LinkNS3(NetworkNS3Model* model, const char* name, double bandwidth, double latency) +LinkNS3::LinkNS3(NetworkNS3Model* model, const std::string& name, double bandwidth, double latency) : LinkImpl(model, name, nullptr) { bandwidth_.peak = bandwidth; diff --git a/src/surf/network_ns3.hpp b/src/surf/network_ns3.hpp index 196d193d5e..b30a7eb830 100644 --- a/src/surf/network_ns3.hpp +++ b/src/surf/network_ns3.hpp @@ -18,7 +18,7 @@ class NetworkNS3Model : public NetworkModel { public: NetworkNS3Model(); ~NetworkNS3Model(); - LinkImpl* createLink(const char* name, double bandwidth, double latency, + LinkImpl* createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) override; Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override; double nextOccuringEvent(double now) override; @@ -31,7 +31,7 @@ public: ************/ class LinkNS3 : public LinkImpl { public: - explicit LinkNS3(NetworkNS3Model* model, const char* name, double bandwidth, double latency); + explicit LinkNS3(NetworkNS3Model* model, const std::string& name, double bandwidth, double latency); ~LinkNS3(); void apply_event(tmgr_trace_event_t event, double value) override; diff --git a/src/surf/ptask_L07.cpp b/src/surf/ptask_L07.cpp index 0ee2f30ddc..c1750d7333 100644 --- a/src/surf/ptask_L07.cpp +++ b/src/surf/ptask_L07.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2010, 2013-2015. The SimGrid Team. +/* Copyright (c) 2007-2010, 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -249,7 +249,7 @@ Cpu *CpuL07Model::createCpu(simgrid::s4u::Host *host, std::vector *spee return new CpuL07(this, host, speedPerPstate, core); } -LinkImpl* NetworkL07Model::createLink(const char* name, double bandwidth, double latency, +LinkImpl* NetworkL07Model::createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) { return new LinkL07(this, name, bandwidth, latency, policy); @@ -267,7 +267,7 @@ CpuL07::CpuL07(CpuL07Model* model, simgrid::s4u::Host* host, std::vector CpuL07::~CpuL07()=default; -LinkL07::LinkL07(NetworkL07Model* model, const char* name, double bandwidth, double latency, +LinkL07::LinkL07(NetworkL07Model* model, const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) : LinkImpl(model, name, lmm_constraint_new(model->getMaxminSystem(), this, bandwidth)) { diff --git a/src/surf/ptask_L07.hpp b/src/surf/ptask_L07.hpp index 5d25d4e48e..3b944a36bd 100644 --- a/src/surf/ptask_L07.hpp +++ b/src/surf/ptask_L07.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. +/* Copyright (c) 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -58,7 +58,7 @@ class NetworkL07Model : public NetworkModel { public: NetworkL07Model(HostL07Model *hmodel, lmm_system_t sys); ~NetworkL07Model(); - LinkImpl* createLink(const char* name, double bandwidth, double latency, + LinkImpl* createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) override; Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override; @@ -84,7 +84,7 @@ protected: class LinkL07 : public LinkImpl { public: - LinkL07(NetworkL07Model* model, const char* name, double bandwidth, double latency, + LinkL07(NetworkL07Model* model, const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy); ~LinkL07() override; bool isUsed() override; diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index 97ce0b11fd..6966739b7b 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -131,7 +131,7 @@ void sg_platf_new_link(LinkCreationArgs* link) } for (auto const& link_name : names) { simgrid::surf::LinkImpl* l = - surf_network_model->createLink(link_name.c_str(), link->bandwidth, link->latency, link->policy); + surf_network_model->createLink(link_name, link->bandwidth, link->latency, link->policy); if (link->properties) { for (auto const& elm : *link->properties) diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index 9275ffe215..a8a7239d2c 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -549,7 +549,7 @@ void Model::updateActionsStateFull(double /*now*/, double /*delta*/) namespace simgrid { namespace surf { -Resource::Resource(Model* model, const char* name, lmm_constraint_t constraint) +Resource::Resource(Model* model, const std::string& name, lmm_constraint_t constraint) : name_(name), model_(model), constraint_(constraint) {} diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 0c39619c5b..65eea27d30 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -363,7 +363,7 @@ public: * @param name The name of the Resource * @param constraint The lmm constraint associated to this Resource if it is part of a LMM component */ - Resource(Model *model, const char *name, lmm_constraint_t constraint); + Resource(Model * model, const std::string& name, lmm_constraint_t constraint); virtual ~Resource(); -- 2.20.1