# Author: Alina Quereilhac <alina.quereilhac@inria.fr>
from nepi.execution.attribute import Attribute, Flags, Types
-from nepi.execution.resource import ResourceManager, clsinit_copy, ResourceState, \
- reschedule_delay
+from nepi.execution.resource import ResourceManager, clsinit_copy, \
+ ResourceState
from nepi.resources.linux.ccn.ccnpingserver import LinuxCCNPingServer
from nepi.util.timefuncs import tnow, tdiffsec
@clsinit_copy
class LinuxCCNPing(LinuxCCNPingServer):
- _rtype = "LinuxCCNPing"
+ _rtype = "linux::CCNPing"
@classmethod
def _register_attributes(cls):
interval = Attribute("i",
"Set ping interval in seconds (minimum 0.10 second) ",
type = Types.Integer,
- flags = Flags.ExecReadOnly)
+ flags = Flags.Design)
count = Attribute("c",
"Total number of pings",
- type = Types.Integer,
- flags = Flags.ExecReadOnly)
+ type = Types.Double,
+ flags = Flags.Design)
number = Attribute("n",
"Set the starting number, the number is incremented by 1 after each Interest ",
type = Types.Integer,
- flags = Flags.ExecReadOnly)
+ flags = Flags.Design)
prefix = Attribute("prefix",
"Prefix to serve content (e.g. ccnx:/name/prefix)",
- flags = Flags.ExecReadOnly)
+ flags = Flags.Design)
cls._register_attribute(interval)
cls._register_attribute(count)
@property
def ccnpingserver(self):
- ccnpingserver = self.get_connected(LinuxCCNPingServer.rtype())
+ ccnpingserver = self.get_connected(LinuxCCNPingServer.get_rtype())
if ccnpingserver: return ccnpingserver[0]
return None
- def start(self):
+ def do_start(self):
if not self.ccnpingserver or \
self.ccnpingserver.state < ResourceState.STARTED:
self.debug("---- RESCHEDULING START---- ccnpingserver state %s " % \
self.ccnpingserver.state )
- self.ec.schedule(reschedule_delay, self.start)
+ self.ec.schedule(self.reschedule_delay, self.start)
else:
- super(LinuxCCNPing, self).start()
+ super(LinuxCCNPing, self).do_start()
@property
def _start_command(self):
if self.get("n"):
args.append("-n %d" % self.get("n"))
if self.get("i"):
- args.append("-i %d" % self.get("i"))
+ args.append("-i %.2f" % self.get("i"))
command = " ".join(args)