wireless_overlay.py is now working with unicast vlc stream
[nepi.git] / examples / vlc_wireless_netns_ns3.py
index 03c9138..469c837 100644 (file)
@@ -34,9 +34,9 @@ class VlcWirelessNetnsNs3Example(object):
         return tap
 
     def add_ns3_fdnd(self, node, ns3_desc):
-        fdnd = ns3_desc.create("ns3::FileDescriptorNetDevice")
+        fdnd = ns3_desc.create("ns3::FdNetDevice")
         node.connector("devs").connect(fdnd.connector("node"))
-        fdnd.enable_trace("FileDescriptorPcapTrace")
+        fdnd.enable_trace("FdPcapTrace")
         return fdnd
 
     def add_ns3_node(self, ns3_desc):
@@ -59,9 +59,9 @@ class VlcWirelessNetnsNs3Example(object):
         error = ns3_desc.create("ns3::NistErrorRateModel")
         manager = ns3_desc.create("ns3::ArfWifiManager")
         if access_point:
-            mac = ns3_desc.create("ns3::QapWifiMac")
+            mac = ns3_desc.create("ns3::ApWifiMac")
         else:
-            mac = ns3_desc.create("ns3::QstaWifiMac")
+            mac = ns3_desc.create("ns3::StaWifiMac")
 
         phy.set_attribute_value("Standard", "WIFI_PHY_STANDARD_80211a")
         mac.set_attribute_value("Standard", "WIFI_PHY_STANDARD_80211a")
@@ -114,14 +114,13 @@ class VlcWirelessNetnsNs3Example(object):
     def run(self):
         bounds_width = bounds_height = 200
         x = y = 100
-        speed = 1
+        speed = 7
 
         exp_desc = ExperimentDescription()
 
         ## NS3 Testbed instance description ##
-        testbed_version = "3_9_RC3"
         testbed_id = "ns3"
-        ns3_provider = FactoriesProvider(testbed_id, testbed_version)
+        ns3_provider = FactoriesProvider(testbed_id)
         ns3_desc = exp_desc.add_testbed_description(ns3_provider)
         ns3_desc.set_attribute_value("homeDirectory", self.root_dir)
         ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl")
@@ -147,12 +146,11 @@ class VlcWirelessNetnsNs3Example(object):
         phy2.connector("chan").connect(wifichan.connector("phys"))
 
         ## NETNS testbed description 1 ##
-        testbed_version = "01"
         testbed_id = "netns"
-        netns_provider = FactoriesProvider(testbed_id, testbed_version)
+        netns_provider = FactoriesProvider(testbed_id)
         netns_desc1 = exp_desc.add_testbed_description(netns_provider)
         netns_desc1.set_attribute_value("homeDirectory", self.root_dir)
-        #netns_desc1.set_attribute_value("enableDebug", True
+        #netns_desc1.set_attribute_value("enableDebug", True)
         # create node 3
         node3 = netns_desc1.create("Node")
         node3.set_attribute_value("forward_X11", True)
@@ -161,7 +159,7 @@ class VlcWirelessNetnsNs3Example(object):
         # create vlc server
         # DEBUG!! target = "{#[vlc_client].addr[0].[Address]#}"
         target = "10.0.2.2" 
-        command = "vlc -I dummy -vvv %s --sout '#rtp{dst=%s,port=5004,mux=ts}' vlc://quit" \
+        command = "vlc -I dummy %s --sout '#rtp{dst=%s,port=5004,mux=ts}' vlc://quit" \
                 % (self.movie, target)
         vlc_server = netns_desc1.create("Application")
         vlc_server.set_attribute_value("command", command)
@@ -212,7 +210,8 @@ class VlcWirelessNetnsNs3Example(object):
         xml = exp_desc.to_xml()
         controller = ExperimentController(xml, self.root_dir)
         controller.start()
-        while not controller.is_finished(vlc_server.guid):
+        while not controller.is_finished(vlc_server.guid) and \
+                not controller.is_finished(vlc_client.guid):
             time.sleep(0.5)
         controller.stop()
         controller.shutdown()