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: Parameters
  ----------
          run_id: str
                  unique run_id associated with the HPB run
          working_directory: str
                  path to the working directory of the HPB run to store the nameservers credentials.
                  If None, no config file will be written.
          host: str
                  the hostname to use for the nameserver
          port: int
                  the port to be used. Default (=0) means a random port
          nic_name: str
                  name of the network interface to use (only used if host is not given)
code: def __init__(
      self,
      run_id,
      working_directory=None,
      host=None,
      port=0,
      nic_name=None,
  ):
      """
      Parameters
      ----------
              run_id: str
                      unique run_id associated with the HPB run
              working_directory: str
                      path to the working directory of the HPB run to store the nameservers credentials.
                      If None, no config file will be written.
              host: str
                      the hostname to use for the nameserver
              port: int
                      the port to be used. Default (=0) means a random port
              nic_name: str
                      name of the network interface to use (only used if host is not given)
      """
      self.run_id = run_id
      self.host = host
      self.nic_name = nic_name
      self.port = port
      self.dir = working_directory
      self.conf_fn = None
      self.pyro_ns = 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 1 to create a new NameServer object from inherited base classes: object with example: obj = NameServer(run_id, working_directory, host, port, nic_name)