def METHOD_NAME(self, host, port):
    # This is for minimum info exchange during initialization
    # a single connection allows to implement locking mechanics easily
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.bind((host, port))
        s.listen()
        s.settimeout(0.5)
        while self._run.value == 1:
            try:
                c_socket, addr = s.accept()
            except socket.timeout:
                continue
            t = threading.Thread(
                target=self._process_request,
                args=(c_socket,), daemon=True)
            t.start()