Exemple #1
0
 def __init__(self, server_port, pidfname, logfname, statusfname,
              workdir='/tmp/', delim=['<<','>>'], sniffer_port=None):
     """
     @param server_port The port to listen on for driver connections.
     @param pidfname The file name of the process ID file, used by
             DaemonProcess.
     @param logfname The file name of the logger logfile where comms
             traffic is logged, used by DaemonProcess.
     @param statsfname The name of the logger status file, where logger
             status info and errors is kept.
     @param workdir The path of the working directory where logger files
             are written, used by DaemonProcess.
     @param delim A 2-element delimter list used to delimit traffic from
             the driver in the logfile, thus demarking it from the device
             output.
     @param sniffer_port The port to listen on for sniffer connections.
     """
     DaemonProcess.__init__(self, pidfname, logfname, workdir)
     self.server_port = server_port
     self.sniffer_port = sniffer_port
     self.driver_server_sock = None
     self.driver_sock = None
     self.driver_addr = None
     self.sniffer_server_sock = None
     self.sniffer_sock = None
     self.sniffer_addr = None
     self.delim = delim
     self.statusfname = workdir + statusfname
Exemple #2
0
 def _cleanup(self):
     """
     Cleanup function prior to logger exit. Close comms, status file and
     call DaemonProcess cleanup. This is called by the DaemonProcess
     SIGTERM handler if termination occurs due to signal, or by
     atexit handler if the run loop concludes normally.
     """
     self._close_device_comms()
     self._close_driver_comms()
     if self.statusfile:
         self.statusfile.write('_cleanup: logger stopping.\n')
         self.statusfile.flush()
         self.statusfile.close()
         self.statusfile = None
     DaemonProcess._cleanup(self)
Exemple #3
0
 def __init__(self, pidfname, logfname, statusfname, portfname, workdir, delim, ppid):
     """
     Base logger process constructor.
     @param pidfname Process id file name.
     @param logfname Log file name.
     @param statusfname Status file name.
     @param portfname Port file name.
     @param workdir The work directory.
     @param delim 2-element delimiter to indicate traffic from the driver
     in the logfile.
     @param ppid Parent process ID, used to self destruct when parents
     die in test cases.        
     """
     DaemonProcess.__init__(self, pidfname, logfname, workdir)
     self.server_port = None
     self.driver_server_sock = None
     self.driver_sock = None
     self.driver_addr = None
     self.delim = delim
     self.statusfname = workdir + statusfname
     self.ppid = ppid
     self.last_parent_check = None
     self.portfname = workdir + portfname