class_docstr: Implement a consistent hashing ring.
class_docstr_tok: ["Implement","a","consistent","hashing","ring","."]
docstr: Add the given node with its associated configuration.
  
  :param nodename: the node name.
  :param conf: the node configuration.
docstr_tok: ["Add","the","given","node","with","its","associated","configuration",".",":","param","nodename",":","the","node","name",".",":","param","conf",":","the","node","configuration","."]
code: def __setitem__(self, nodename, conf={"weight": 1}):
      """Add the given node with its associated configuration.
  
      :param nodename: the node name.
      :param conf: the node configuration.
      """
      if self._configure_nodes({nodename: conf}):
          self.runtime._create_ring([(nodename, self._nodes[nodename])])
  
imports: from bisect import bisect
  from .ring_ketama import KetamaRing
  from .ring_meta import MetaRing
label_desc: Use image node_id 5 for calling the HashRing obj's underlying member method code with example usage: obj.__setitem__(nodename, conf) without return types