Esempio n. 1
0
    def run(self):
        while not self._stop:
            [rlist, wlist, xlist] = select.select(self._rlist, [], [])
            for fd in rlist:
                data = fd.recv(16384)
                if fd == self.control:
                    # FIXME move it to specific marshal
                    buf = io.BytesIO()
                    buf.write(data)
                    buf.seek(0)
                    cmd = cmdmsg(buf)
                    if cmd['command'] == IPRCMD_STOP:
                        self._stop = True
                        break
                    elif cmd['command'] == IPRCMD_RELOAD:
                        pass

                elif fd in self._netlinks:
                    data = fd.recv(16384)
                    for sock in self._wlist:
                        sock.send(data)
                    self.parse(data)
Esempio n. 2
0
 def reload(self):
     msg = cmdmsg(io.BytesIO())
     msg['command'] = IPRCMD_RELOAD
     msg.encode()
     self.control.sendto(msg.buf.getvalue(), self.control.getsockname())
Esempio n. 3
0
 def stop(self):
     msg = cmdmsg(io.BytesIO())
     msg['command'] = IPRCMD_STOP
     msg.encode()
     self.control.sendto(msg.buf.getvalue(), self.control.getsockname())