Changing ResourceManager naming for platform::ResourceName
[nepi.git] / src / nepi / resources / linux / ccn / ccnping.py
index 2e3f485..b3be450 100644 (file)
@@ -18,8 +18,8 @@
 # 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
 
@@ -27,28 +27,28 @@ import os
 
 @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)
@@ -61,18 +61,18 @@ class LinuxCCNPing(LinuxCCNPingServer):
 
     @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):
@@ -84,7 +84,7 @@ class LinuxCCNPing(LinuxCCNPingServer):
         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)