class_docstr: The nameserver serves as a phonebook-like lookup table for your workers. Unique names are created so the workers
  can work in parallel and register their results without creating racing conditions. The implementation uses
  `PYRO4 <https://pythonhosted.org/Pyro4/nameserver.html>`_ as a backend and this class is basically a wrapper.
docstr: clean shutdown of the nameserver and the config file (if written)
code: def shutdown(self):
      """
      clean shutdown of the nameserver and the config file (if written)
      """
      if not self.pyro_ns is None:
          self.pyro_ns.shutdown()
          self.pyro_ns = None
  
      if not self.conf_fn is None:
          os.remove(self.conf_fn)
          self.conf_fn = None
  
file_path: auptimizer/src/aup/Proposer/hpbandster/core/nameserver.py
imports: import os
  import pickle
  import json
  import threading
  import Pyro4.naming
label_desc: Use image node_id 3 for calling the NameServer obj's underlying member method code with example usage: obj.shutdown() without return types