code: def stop(self):
      if not self._started:
          return
  
      self._shutdown = True
      self._th_collector.join()
  
imports: import datetime
  import logging
  import time
  import weakref
  from collections import Counter
  from threading import Thread
  from typing import Union
  import aim.ext.transport.proto.remote_router_pb2
label_desc: Use image node_id 3 for calling the RPCHeartbeatSender obj's underlying member method code with example usage: obj.stop() without return types