X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/07c12189c716ea527ddcf8f8b55983213dead2bf..90eef5a9e56c75d7513b2a0fdb4594d292763ca6:/src/kernel/routing/FatTreeZone.hpp diff --git a/src/kernel/routing/FatTreeZone.hpp b/src/kernel/routing/FatTreeZone.hpp index 8d8538752f..7e329b68f0 100644 --- a/src/kernel/routing/FatTreeZone.hpp +++ b/src/kernel/routing/FatTreeZone.hpp @@ -46,12 +46,12 @@ public: /** Virtual link standing for the node global capacity. */ - Link* limiterLink; + surf::LinkImpl* limiterLink; /** If present, communications from this node to this node will pass through it * instead of passing by an upper level switch. */ - Link* loopback; - FatTreeNode(sg_platf_cluster_cbarg_t cluster, int id, int level, int position); + surf::LinkImpl* loopback; + FatTreeNode(ClusterCreationArgs* cluster, int id, int level, int position); }; /** \brief Link in a fat tree (@ref FatTreeZone). @@ -61,11 +61,11 @@ public: */ class FatTreeLink { public: - FatTreeLink(sg_platf_cluster_cbarg_t cluster, FatTreeNode* source, FatTreeNode* destination); + FatTreeLink(ClusterCreationArgs* cluster, FatTreeNode* source, FatTreeNode* destination); /** Link going up in the tree */ - Link* upLink; + surf::LinkImpl* upLink; /** Link going down in the tree */ - Link* downLink; + surf::LinkImpl* downLink; /** Upper end of the link */ FatTreeNode* upNode; /** Lower end of the link */ @@ -83,7 +83,7 @@ public: * which are not currently enforced. * * The exact topology is described in the mandatory topo_parameters - * field, and follow the "h ; m_h, ..., m_1 ; w_h, ..., w_1 ; p_h, ..., p_1" format. + * field, and follow the "h ; m_1, ..., m_h ; w_1, ..., w_h ; p_1, ..., p_h" format. * h stands for the switches levels number, i.e. the fat tree is of height h, * without the processing nodes. m_i stands for the number of lower level nodes * connected to a node in level i. w_i stands for the number of upper levels @@ -98,7 +98,7 @@ public: */ class XBT_PRIVATE FatTreeZone : public ClusterZone { public: - explicit FatTreeZone(NetZone* father, const char* name); + explicit FatTreeZone(NetZone* father, std::string name); ~FatTreeZone() override; void getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t into, double* latency) override; @@ -113,13 +113,13 @@ public: * * It will also store the cluster for future use. */ - void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override; + void parse_specific_arguments(ClusterCreationArgs* cluster) override; void addProcessingNode(int id); void generateDotFile(const std::string& filename = "fatTree.dot") const; private: // description of a PGFT (TODO : better doc) - unsigned int levels_ = 0; + unsigned long levels_ = 0; std::vector lowerLevelNodesNumber_; // number of children by node std::vector upperLevelNodesNumber_; // number of parents by node std::vector lowerLevelPortsNumber_; // ports between each level l and l-1 @@ -129,7 +129,7 @@ private: std::vector links_; std::vector nodesByLevel_; - sg_platf_cluster_cbarg_t cluster_ = nullptr; + ClusterCreationArgs* cluster_ = nullptr; void addLink(FatTreeNode* parent, unsigned int parentPort, FatTreeNode* child, unsigned int childPort); int getLevelPosition(const unsigned int level);