#include <fstream>
#include <sstream>
+#include <string>
#include "src/kernel/routing/FatTreeZone.hpp"
#include "src/kernel/routing/NetPoint.hpp"
#include "src/surf/network_interface.hpp"
-#include "xbt/lib.h"
-
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
FatTreeNode* currentNode = source;
// up part
- while (!isInSubTree(currentNode, destination)) {
+ while (not isInSubTree(currentNode, destination)) {
int d = destination->position; // as in d-mod-k
for (unsigned int i = 0; i < currentNode->level; i++)
FatTreeNode::FatTreeNode(sg_platf_cluster_cbarg_t cluster, int id, int level, int position)
: id(id), level(level), position(position)
{
- s_sg_platf_link_cbarg_t linkTemplate;
+ LinkCreationArgs linkTemplate;
if (cluster->limiter_link) {
- memset(&linkTemplate, 0, sizeof(linkTemplate));
linkTemplate.bandwidth = cluster->limiter_link;
linkTemplate.latency = 0;
linkTemplate.policy = SURF_LINK_SHARED;
- linkTemplate.id = bprintf("limiter_%d", id);
+ linkTemplate.id = "limiter_"+std::to_string(id);
sg_platf_new_link(&linkTemplate);
- this->limiterLink = surf::LinkImpl::byName(linkTemplate.id);
- free(const_cast<char*>(linkTemplate.id));
+ this->limiterLink = surf::LinkImpl::byName(linkTemplate.id.c_str());
}
if (cluster->loopback_bw || cluster->loopback_lat) {
- memset(&linkTemplate, 0, sizeof(linkTemplate));
linkTemplate.bandwidth = cluster->loopback_bw;
linkTemplate.latency = cluster->loopback_lat;
linkTemplate.policy = SURF_LINK_FATPIPE;
- linkTemplate.id = bprintf("loopback_%d", id);
+ linkTemplate.id = "loopback_"+ std::to_string(id);
sg_platf_new_link(&linkTemplate);
- this->loopback = surf::LinkImpl::byName(linkTemplate.id);
- free(const_cast<char*>(linkTemplate.id));
+ this->loopback = surf::LinkImpl::byName(linkTemplate.id.c_str());
}
}
: upNode(upNode), downNode(downNode)
{
static int uniqueId = 0;
- s_sg_platf_link_cbarg_t linkTemplate;
- memset(&linkTemplate, 0, sizeof(linkTemplate));
+ LinkCreationArgs linkTemplate;
linkTemplate.bandwidth = cluster->bw;
linkTemplate.latency = cluster->lat;
linkTemplate.policy = cluster->sharing_policy; // sthg to do with that ?
- linkTemplate.id = bprintf("link_from_%d_to_%d_%d", downNode->id, upNode->id, uniqueId);
+ linkTemplate.id =
+ "link_from_" + std::to_string(downNode->id) + "_" + std::to_string(upNode->id) + "_" + std::to_string(uniqueId);
sg_platf_new_link(&linkTemplate);
if (cluster->sharing_policy == SURF_LINK_FULLDUPLEX) {
tmpID = std::string(linkTemplate.id) + "_DOWN";
this->downLink = surf::LinkImpl::byName(tmpID.c_str()); // check link ?
} else {
- this->upLink = surf::LinkImpl::byName(linkTemplate.id);
+ this->upLink = surf::LinkImpl::byName(linkTemplate.id.c_str());
this->downLink = this->upLink;
}
- free(const_cast<char*>(linkTemplate.id));
uniqueId++;
}
}