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.
class_docstr_tok: ["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)
docstr_tok: ["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: HpBandSter/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)