code: def client_heartbeat(
      self, request: router_rpc.HeartbeatRequest, _context
  ):
      try:
          client_uri = request.client_uri
          self.client_heartbeat_pool[
              client_uri
          ] = datetime.datetime.now().timestamp()
          return router_rpc.HeartbeatResponse(
              status=router_rpc.HeartbeatResponse.Status.OK
          )
      except Exception as e:
          return router_rpc.HeartbeatResponse(
              status=router_rpc.HeartbeatRequest.Status.ERROR,
              exception=build_exception(e),
          )
  
file_path: aim/aim/ext/transport/router.py
imports: import datetime
  from typing import List, TYPE_CHECKING
  import aim.ext.transport.proto.remote_router_pb2
  import aim.ext.transport.proto.remote_router_pb2_grpc
  from aim.ext.transport.message_utils import build_exception
label_desc: Use image node_id 4 for calling the RemoteRouterServicer obj's underlying member method code with example usage: obj.client_heartbeat(request, _context) and returns: router_rpc, router_rpc