Adding partitioning support to AnnotatedTopologyReader
diff --git a/plugins/topology/annotated-topology-reader.cc b/plugins/topology/annotated-topology-reader.cc
index f3cfc53..50a5ae4 100644
--- a/plugins/topology/annotated-topology-reader.cc
+++ b/plugins/topology/annotated-topology-reader.cc
@@ -87,16 +87,16 @@
}
Ptr<Node>
-AnnotatedTopologyReader::CreateNode (const std::string name)
+AnnotatedTopologyReader::CreateNode (const std::string name, uint32_t systemId)
{
- return CreateNode (name, m_randX.GetValue (), m_randY.GetValue ());
+ return CreateNode (name, m_randX.GetValue (), m_randY.GetValue (), systemId);
}
Ptr<Node>
-AnnotatedTopologyReader::CreateNode (const std::string name, double posX, double posY)
+AnnotatedTopologyReader::CreateNode (const std::string name, double posX, double posY, uint32_t systemId)
{
NS_LOG_FUNCTION (this << name << posX << posY);
- Ptr<Node> node = CreateObject<Node> ();
+ Ptr<Node> node = CreateObject<Node> (systemId);
Ptr<MobilityModel> loc = DynamicCast<MobilityModel> (m_mobilityFactory.Create ());
node->AggregateObject (loc);
@@ -150,11 +150,12 @@
istringstream lineBuffer (line);
string name, city;
double latitude, longitude;
+ uint32_t systemId = 0;
- lineBuffer >> name >> city >> latitude >> longitude;
+ lineBuffer >> name >> city >> latitude >> longitude >> systemId;
if (name.empty ()) continue;
- Ptr<Node> node = CreateNode (name, m_scale*longitude, -m_scale*latitude);
+ Ptr<Node> node = CreateNode (name, m_scale*longitude, -m_scale*latitude, systemId);
}
map<string, set<string> > processedLinks; // to eliminate duplications
diff --git a/plugins/topology/annotated-topology-reader.h b/plugins/topology/annotated-topology-reader.h
index 95ce123..48c164b 100644
--- a/plugins/topology/annotated-topology-reader.h
+++ b/plugins/topology/annotated-topology-reader.h
@@ -110,10 +110,10 @@
protected:
Ptr<Node>
- CreateNode (const std::string name);
+ CreateNode (const std::string name, uint32_t systemId);
Ptr<Node>
- CreateNode (const std::string name, double posX, double posY);
+ CreateNode (const std::string name, double posX, double posY, uint32_t systemId);
protected:
/**
diff --git a/plugins/topology/rocketfuel-weights-reader.cc b/plugins/topology/rocketfuel-weights-reader.cc
index 4b4fb32..e5fb035 100644
--- a/plugins/topology/rocketfuel-weights-reader.cc
+++ b/plugins/topology/rocketfuel-weights-reader.cc
@@ -122,13 +122,13 @@
Ptr<Node> fromNode = Names::Find<Node> (m_path, from);
if (fromNode == 0)
{
- fromNode = CreateNode (from);
+ fromNode = CreateNode (from, 0);
}
Ptr<Node> toNode = Names::Find<Node> (m_path, to);
if (toNode == 0)
{
- toNode = CreateNode (to);
+ toNode = CreateNode (to, 0);
}
Link *link;