code: async def send_rpc(self, conn_id, address, rpc_id, payload, timeout):
          
  
          self._ensure_connection(conn_id, True)
          connection_string = self._get_property(conn_id, "connection_string")
  
          msg = dict(address=address, rpc_id=rpc_id, payload=base64.b64encode(payload),
                     timeout=timeout, connection_string=connection_string)
  
          response = await self._send_command(OPERATIONS.SEND_RPC, msg, COMMANDS.SendRPCResponse,
                                              timeout=timeout)
  
          return unpack_rpc_response(response.get('status'), response.get('payload'),
                                     rpc_id=rpc_id, address=address)
docs: Send an RPC to a device.
  
          See :meth:`AbstractDeviceAdapter.send_rpc`.