-#include "surf_routing_cluster_fat_tree.hpp"
+#include <cstdlib>
+
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+#include <iostream>
+
+#include "src/surf/surf_routing_private.hpp"
+#include "src/surf/surf_routing_cluster_fat_tree.hpp"
#include "xbt/lib.h"
#include <boost/algorithm/string/split.hpp>
AS_t model_fat_tree_cluster_create(void)
{
- return new AsClusterFatTree();
+ return new simgrid::surf::AsClusterFatTree();
}
+namespace simgrid {
+namespace surf {
+
AsClusterFatTree::AsClusterFatTree() : levels(0) {
XBT_DEBUG("Creating a new fat tree.");
}
return true;
}
-void AsClusterFatTree::getRouteAndLatency(RoutingEdge *src,
- RoutingEdge *dst,
+void AsClusterFatTree::getRouteAndLatency(NetCard *src,
+ NetCard *dst,
sg_platf_route_cbarg_t into,
double *latency) {
FatTreeNode *source, *destination, *currentNode;
void AsClusterFatTree::parse_specific_arguments(sg_platf_cluster_cbarg_t
cluster) {
- std::vector<string> parameters;
- std::vector<string> tmp;
+ std::vector<std::string> parameters;
+ std::vector<std::string> tmp;
boost::split(parameters, cluster->topo_parameters, boost::is_any_of(";"));
}
-void AsClusterFatTree::generateDotFile(const string& filename) const {
- ofstream file;
+void AsClusterFatTree::generateDotFile(const std::string& filename) const {
+ std::ofstream file;
/* Maybe should we get directly a char*, as open takes strings only beginning
* with C++11...
*/
- file.open(filename.c_str(), ios::out | ios::trunc);
+ file.open(filename.c_str(), std::ios::out | std::ios::trunc);
if(file.is_open()) {
file << "graph AsClusterFatTree {\n";
memset(&linkTemplate, 0, sizeof(linkTemplate));
linkTemplate.bandwidth = cluster->limiter_link;
linkTemplate.latency = 0;
- linkTemplate.state = SURF_RESOURCE_ON;
+ linkTemplate.initiallyOn = 1;
linkTemplate.policy = SURF_LINK_SHARED;
linkTemplate.id = bprintf("limiter_%d", id);
sg_platf_new_link(&linkTemplate);
memset(&linkTemplate, 0, sizeof(linkTemplate));
linkTemplate.bandwidth = cluster->loopback_bw;
linkTemplate.latency = cluster->loopback_lat;
- linkTemplate.state = SURF_RESOURCE_ON;
+ linkTemplate.initiallyOn = 1;
linkTemplate.policy = SURF_LINK_FATPIPE;
linkTemplate.id = bprintf("loopback_%d", id);
sg_platf_new_link(&linkTemplate);
memset(&linkTemplate, 0, sizeof(linkTemplate));
linkTemplate.bandwidth = cluster->bw;
linkTemplate.latency = cluster->lat;
- linkTemplate.state = SURF_RESOURCE_ON;
+ linkTemplate.initiallyOn = 1;
linkTemplate.policy = cluster->sharing_policy; // sthg to do with that ?
linkTemplate.id = bprintf("link_from_%d_to_%d_%d", downNode->id, upNode->id,
uniqueId);
uniqueId++;
free((void*)linkTemplate.id);
}
+
+}
+}