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")
def stop(self): """Stop the Server """ JNTControllerManager.stop_controller_timer(self) JNTControllerManager.stop_controller(self) JNTServer.stop(self)