コード例 #1
0
ファイル: server.py プロジェクト: bibi21000/janitoo_dhcp
 def stop(self):
     """Stop the DHCP Server
     """
     logger.info("Stop the server")
     if self.heartbeat_timer is not None:
         #The manager is started
         self.heartbeat_timer.cancel()
         self.heartbeat_timer = None
     if self.resolv_timer is not None:
         #The manager is started
         self.resolv_timer.cancel()
         self.resolv_timer = None
     JNTControllerManager.stop_controller_timer(self)
     if self.network is not None:
         self.network.stop()
     if self.lease_mgr is not None:
         self.lease_mgr.stop()
     if self.mqtt_resolv is not None:
         self.mqtt_resolv.stop()
         self.mqtt_resolv = None
     JNTControllerManager.stop_controller(self)
     maxi = 1
     while maxi<10 and not self.network.is_stopped:
         self._stopevent.wait(self.loop_sleep*10)
         maxi += self.loop_sleep*10
     if self.mqtt_client is not None:
         self.mqtt_client.unsubscribe(topic='/dhcp/#')
         self.mqtt_client.remove_topic(topic='/dhcp/lease/new')
         self.mqtt_client.remove_topic(topic='/dhcp/lease/repair')
         self.mqtt_client.remove_topic(topic='/dhcp/lease/lock')
         self.mqtt_client.remove_topic(topic='/dhcp/lease/remove')
         self.mqtt_client.remove_topic(topic='/dhcp/lease/release')
         self.mqtt_client.remove_topic(topic='/dhcp/heartbeat#')
         self.mqtt_client.remove_topic(topic='/dhcp/resolv/hadd')
         self.mqtt_client.remove_topic(topic='/dhcp/resolv/name')
         self.mqtt_client.remove_topic(topic='/dhcp/resolv/cmd_classes')
         self.mqtt_client.stop()
         self.mqtt_client = None
     JNTDBServer.stop(self)
     self.network = None
     self.lease_mgr = None
     logger.info("Server stopped")
コード例 #2
0
ファイル: server.py プロジェクト: bibi21000/janitoo_raspberry
 def stop(self):
     """Stop the Server
     """
     JNTControllerManager.stop_controller_timer(self)
     JNTControllerManager.stop_controller(self)
     JNTServer.stop(self)