Adding ability to wait on planetlab dependencies + examples.
[nepi.git] / examples / ns3_wifi_hidden_terminal.py
index f2916ed..4a1cc39 100644 (file)
@@ -49,7 +49,9 @@ def create_wifi_device(ns3_desc, node, channel):
     phy.set_attribute_value("Standard",  "WIFI_PHY_STANDARD_80211b")
     dev.connector("phy").connect(phy.connector("dev"))
     channel.connector("phys").connect(phy.connector("chan"))
-
+    error = ns3_desc.create("ns3::NistErrorRateModel")
+    phy.connector("err").connect(error.connector("phy"))
     return dev
 
 root_dir = tempfile.mkdtemp()
@@ -60,6 +62,9 @@ testbed_id = "ns3"
 ns3_provider = FactoriesProvider(testbed_id)
 ns3_desc = exp_desc.add_testbed_description(ns3_provider)
 ns3_desc.set_attribute_value("homeDirectory", root_dir)
+#ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl")
+#ns3_desc.set_attribute_value("ChecksumEnabled", True)
+
 # 0. Enable or disable CTS/RTS
 # ??
 
@@ -91,6 +96,7 @@ delay = ns3_desc.create("ns3::ConstantSpeedPropagationDelayModel")
 channel.connector("delay").connect(delay.connector("chan"))
 
 # 5. Install wireless devices
+
 dev1 = create_wifi_device(ns3_desc, node1, channel)
 ip1 = dev1.add_address()
 ip1.set_attribute_value("Address", "10.0.0.1")
@@ -107,7 +113,7 @@ ip3.set_attribute_value("Address", "10.0.0.3")
 ip3.set_attribute_value("NetPrefix", 8)
 
 app = ns3_desc.create("ns3::V4Ping")
-app.set_attribute_value("Remote", "10.0.0.3")
+app.set_attribute_value("Remote", "10.0.0.2")
 app.set_attribute_value("Verbose", True)
 app.set_attribute_value("StartTime", "0s")
 app.set_attribute_value("StopTime", "20s")
@@ -119,5 +125,8 @@ xml = exp_desc.to_xml()
 controller = ExperimentController(xml, root_dir)
 controller.start()
 
+while not controller.is_finished(app.guid):
+    time.sleep(0.5)
+
 controller.stop()
 controller.shutdown()