idempotent
[[ [
IDL-operation-attributes ] ]] operation-attribute ,
...
IDL-operation-attributes
Specifies
zero or more IDL operation attributes such as idempotent and broadcast.
Operation attributes are enclosed in square brackets.
Remarks
An idempotent
operation is one that does not modify state information and returns the same
results each time it is performed. Performing the routine more than once has
the same effect as performing it once.
RPC supports
two types of remote call semantics: calls to idempotent operations and
calls to non-idempotent operations. An idempotent operation can
be carried out more than once with no ill effect. Conversely, a non-idempotent
operation (at-most-once) cannot be executed more than once because it will
either return different results each time or because it modifies some state.
To ensure
that a procedure is automatically re-executed if the call does not complete,
use the idempotent attribute. If the idempotent, broadcast,
or maybe attributes are not present, the procedure will use non-idempotent
semantics by default. In this case, the operation is executed only once.
See Also