class_docstr: Router provides mapping from external address to internal address.
code: def remove_router(self, router: "Router"):
      for external_address in router._curr_external_addresses:
          try:
              self._curr_external_addresses.remove(external_address)
          except ValueError:
              pass
      for addr in router._local_mapping:
          self._local_mapping.pop(addr, None)
      for addr in router._mapping:
          self._mapping.pop(addr, None)
      self._cache_local = threading.local()
  
file_path: mars/mars/oscar/backends/router.py
imports: import threading
  from typing import Dict, List, Tuple, Type, Any, Optional
  from .communication import get_client_type, Client
label_desc: Use image node_id 8 for calling the Router obj's underlying member method code with example usage: obj.remove_router(router) without return types