Add NdnApplication class to handle start and stop
refs: #2909
Change-Id: Ibe5760b155e0edf2227d2d7146f8b6552149a63b
diff --git a/ndn/nfd.py b/ndn/nfd.py
index 817e8d9..4caceac 100644
--- a/ndn/nfd.py
+++ b/ndn/nfd.py
@@ -1,14 +1,14 @@
#!/usr/bin/env python
import time
+from ndn.ndn_application import NdnApplication
-class Nfd:
+class Nfd(NdnApplication):
STRATEGY_BEST_ROUTE_V3 = "best-route/%FD%03"
STRATEGY_NCC = "ncc"
def __init__(self, node):
- self.node = node
- self.isRunning = False
+ NdnApplication.__init__(self, node)
self.logLevel = node.params["params"].get("nfd-log-level", "NONE")
@@ -43,25 +43,8 @@
node.cmd("export HOME=%s" % self.homeFolder)
def start(self):
- if self.isRunning is True:
- try:
- os.kill(int(self.processId), 0)
- except OSError:
- self.isRunning = False
-
- if self.isRunning is False:
- self.node.cmd("sudo nfd --config %s 2>> %s &" % (self.confFile, self.logFile))
- self.processId = self.node.cmd("echo $!")[:-1]
-
- time.sleep(2)
-
- self.isRunning = True
-
- def stop(self):
- if self.isRunning is True:
- self.node.cmd("sudo kill %s" % self.processId)
-
- self.isRunning = False
+ NdnApplication.start(self, "sudo nfd --config %s 2>> %s &" % (self.confFile, self.logFile))
+ time.sleep(2)
def setStrategy(self, name, strategy):
self.node.cmd("nfdc set-strategy %s ndn:/localhost/nfd/strategy/%s" % (name, strategy))