pl_app = slice_desc.create("CCNxDaemon")
# We can specify a default ccnx version to be either ccnx-0.5.1 or ccnx-0.6.0
pl_app = slice_desc.create("CCNxDaemon")
# We can specify a default ccnx version to be either ccnx-0.5.1 or ccnx-0.6.0
# We can also specify a custom local source and build and install directives
path_to_source = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"ccnx-0.6.0rc3.tar.gz")
# We can also specify a custom local source and build and install directives
path_to_source = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"ccnx-0.6.0rc3.tar.gz")
- # Add multicast ccn routes
- pl_app.set_attribute_value("ccnroutes", routes)
+ # Add unicast ccn routes
+ pl_app.set_attribute_value("ccnRoutes", routes)
+
+ # Use a specific port to bind the CCNx daemon
+ if port:
+ pl_app.set_attribute_value("ccnLocalPort", port)
+
pl_app.enable_trace("stdout")
pl_app.enable_trace("stderr")
pl_app.connector("node").connect(pl_node.connector("apps"))
pl_app.enable_trace("stdout")
pl_app.enable_trace("stderr")
pl_app.connector("node").connect(pl_node.connector("apps"))
pl_app = slice_desc.create("Application")
path_to_video = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"../big_buck_bunny_240p_mpeg4_lq.ts")
pl_app.set_attribute_value("stdin", path_to_video)
pl_app = slice_desc.create("Application")
path_to_video = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"../big_buck_bunny_240p_mpeg4_lq.ts")
pl_app.set_attribute_value("stdin", path_to_video)
- pl_app.set_attribute_value("command", "ccnsendchunks ccnx:/VIDEO")
+
+ command = "ccnsendchunks ccnx:/VIDEO"
+ if port:
+ command = "CCN_LOCAL_PORT=%d %s " % (port, command)
+ pl_app.set_attribute_value("command", command)
+
pl_app.enable_trace("stdout")
pl_app.enable_trace("stderr")
pl_app.connector("node").connect(pl_node.connector("apps"))
return pl_app
pl_app.enable_trace("stdout")
pl_app.enable_trace("stderr")
pl_app.connector("node").connect(pl_node.connector("apps"))
return pl_app
proc1 = subprocess.Popen(['ssh', login, command], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell = False)
proc1 = subprocess.Popen(['ssh', login, command], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell = False)
proc2 = subprocess.Popen(['vlc',
'--sub-filter', 'marq',
'--marq-marquee',
'(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org',
'--marq-position=8',
proc2 = subprocess.Popen(['vlc',
'--sub-filter', 'marq',
'--marq-marquee',
'(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org',
'--marq-position=8',
stdin=proc1.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return proc2
def create_ed(hostnames, vsys_vnet, slicename, plc_host, pl_user, pl_pwd, pl_ssh_key,
stdin=proc1.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return proc2
def create_ed(hostnames, vsys_vnet, slicename, plc_host, pl_user, pl_pwd, pl_ssh_key,
for hostname in hostnames:
pl_node = pl_nodes[hostname]
routes = ccn_routes[hostname]
for hostname in hostnames:
pl_node = pl_nodes[hostname]
routes = ccn_routes[hostname]
return exp_desc, pl_nodes, hostname, pl_app
def run(hostnames, vsys_vnet, slicename, plc_host, pl_user, pl_pwd, pl_ssh_key,
return exp_desc, pl_nodes, hostname, pl_app
def run(hostnames, vsys_vnet, slicename, plc_host, pl_user, pl_pwd, pl_ssh_key,
exp_desc, pl_nodes, hostname, pl_app = create_ed(hostnames, vsys_vnet,
slicename, plc_host, pl_user, pl_pwd, pl_ssh_key, port_base,
exp_desc, pl_nodes, hostname, pl_app = create_ed(hostnames, vsys_vnet,
slicename, plc_host, pl_user, pl_pwd, pl_ssh_key, port_base,
parser = OptionParser(usage=usage)
parser.add_option("-s", "--slicename", dest="slicename",
parser = OptionParser(usage=usage)
parser.add_option("-s", "--slicename", dest="slicename",
parser.add_option("-d", "--delay", dest="delay",
help="Time to wait before retrieveing the second video stream in seconds",
default=40, type="int")
parser.add_option("-d", "--delay", dest="delay",
help="Time to wait before retrieveing the second video stream in seconds",
default=40, type="int")
+ parser.add_option("-P", "--ccn-local-port", dest="port",
+ help="Port to bind the CCNx daemon",
+ default=ccn_local_port, type="int")
(options, args) = parser.parse_args()
hostnames = map(string.strip, options.hostnames.split(",")) if options.hostnames else default_hostnames
(options, args) = parser.parse_args()
hostnames = map(string.strip, options.hostnames.split(",")) if options.hostnames else default_hostnames
run(hostnames, vsys_vnet, slicename, pl_host, pl_user, pl_pwd, pl_ssh_key,
run(hostnames, vsys_vnet, slicename, pl_host, pl_user, pl_pwd, pl_ssh_key,