class_docstr: A network address to be evaluated.
  
  1. An unbound address is created using `address = Address()`.
  2. An address should be assigned to exactly one node e.g. using
     `address.assign(node)`.
  2. Upon launching, Launchpad will call bind() for each address to assign the
     address builder, which constructs the actual string format address at
     runtime. Launchpad has access to the addressed used in a program because
     each node maintains an `addresses` list of the nodes he knows about (it can
     be the address(es) the node own, or addresses that sub-nodes own.
  3. At runtime, use `address.resolve()` to finally resolve it.
  
  Using an unbound address will trigger an error.
  
  Attributes:
    name: Name of this address.
class_docstr_tok: ["A","network","address","to","be","evaluated",".","1",".","An","unbound","address","is","created","using","`","address","=","Address","(",")","`",".","2",".","An","address","should","be","assigned","to","exactly","one","node","e.g",".","using","`","address.assign","(","node",")","`",".","2",".","Upon","launching",",","Launchpad","will","call","bind","(",")","for","each","address","to","assign","the","address","builder",",","which","constructs","the","actual","string","format","address","at","runtime",".","Launchpad","has","access","to","the","addressed","used","in","a","program","because","each","node","maintains","an","`","addresses","`","list","of","the","nodes","he","knows","about","(","it","can","be","the","address","(","es",")","the","node","own",",","or","addresses","that","sub-nodes","own",".","3",".","At","runtime",",","use","`","address.resolve","(",")","`","to","finally","resolve","it",".","Using","an","unbound","address","will","trigger","an","error",".","Attributes",":","name",":","Name","of","this","address","."]
docstr: Sets a function that creates the platform-specific address at runtime.
docstr_tok: ["Sets","a","function","that","creates","the","platform-specific","address","at","runtime","."]
code: def bind(self, address_builder: AbstractAddressBuilder) -> None:
      """Sets a function that creates the platform-specific address at runtime."""
      # The address cannot be evaluated before we launch, because we might not
      # have all the necessary info for evaluation
      self._address_builder = address_builder
  
file_path: launchpad/launchpad/address.py
imports: import abc
  import os
  import re
  from typing import Optional
  from absl import logging
  import portpicker
label_desc: Use image node_id 2 for calling the Address obj's underlying member method code with example usage: obj.bind(address_builder) without return types