async def send_rpc(self, conn_id, address, rpc_id, payload, timeout):
        """Send an RPC to a device.

        See :meth:`AbstractDeviceAdapter.send_rpc`.
        """

        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)
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 )
Send an RPC to a device.

        See :meth:`AbstractDeviceAdapter.send_rpc`.