Atributo idempotente

O atributo [idempotente] especifica que uma operação não modifica informações de estado e retorna os mesmos resultados sempre que é executada. Executar a rotina mais de uma vez tem o mesmo efeito que executá-la uma vez.

[
    interface-attribute-list
] 
interface interface-name 
{
    [idempotent [, attribute-list]] returntype function-name(params)
}

Parâmetros

interface-attribute-list

Especifica uma lista de zero ou mais atributos IDL que se aplicam à interface como um todo. Quando dois ou mais atributos de interface estão presentes, eles devem ser separados por vírgulas.

interface-name

Especifica o nome da interface.

attribute-list

Especifica atributos adicionais a serem aplicados à função. Separe vários atributos com vírgulas.

Returntype

Especifica o tipo de retorno da função.

function-name

Especifica o nome da função à qual o atributo [idempotente] será aplicado.

params

Lista de parâmetros de função.

Comentários

O RPC dá suporte a dois tipos de semântica de chamada remota: chamadas para operações com o atributo [idempotente] e chamadas para operações (operações idempotentes ) sem o atributo [idempotente] (operações não idempotentes ). Uma operação idempotente pode ser executada mais de uma vez sem nenhum efeito inadequado. Por outro lado, uma operação não idempotente não pode ser executada mais de uma vez porque retornará resultados diferentes a cada vez ou porque modifica algum estado.

Para garantir que um procedimento seja executado novamente automaticamente se a chamada não for concluída, use o atributo [idempotente] . Se os atributos [idempotent], [broadcast], ou [maybe] não estiverem presentes, o procedimento usará semântica não idempotente por padrão. Nesse caso, a operação é executada apenas uma vez.

Confira também

Transmissão

Arquivo IDL (definição de interface)

Talvez