attribut idempotent
L’attribut [idempotent] spécifie qu’une opération ne modifie pas les informations d’état et retourne les mêmes résultats chaque fois qu’elle est effectuée. L’exécution de la routine plusieurs fois a le même effet que l’exécution de la routine une seule fois.
[
interface-attribute-list
]
interface interface-name
{
[idempotent [, attribute-list]] returntype function-name(params)
}
Paramètres
-
interface-attribute-list
-
Spécifie une liste de zéro ou plusieurs attributs IDL qui s’appliquent à l’interface dans son ensemble. Lorsque plusieurs attributs d’interface sont présents, ils doivent être séparés par des virgules.
-
nom_interface
-
Spécifie le nom de l’interface.
-
attribute-list
-
Spécifie des attributs supplémentaires à appliquer à la fonction. Séparez plusieurs attributs par des virgules.
-
type de retour
-
Spécifie le type de retour de la fonction.
-
nom de la fonction
-
Spécifie le nom de la fonction à laquelle l’attribut [idempotent] sera appliqué.
-
params
-
Liste des paramètres de fonction.
Notes
RPC prend en charge deux types de sémantique d’appel distant : les appels aux opérations avec l’attribut [idempotent] et les appels aux opérations (opérations idempotentes ) sans l’attribut [idempotent] (opérations non idempotentes ). Une opération idempotente peut être effectuée plusieurs fois sans effet néfaste. À l’inverse, une opération non idempotente ne peut pas être exécutée plusieurs fois, car elle retourne des résultats différents à chaque fois ou parce qu’elle modifie un état.
Pour vous assurer qu’une procédure est réexécrée automatiquement si l’appel ne se termine pas, utilisez l’attribut [idempotent]. Si les attributs [idempotent],[broadcast] ou [peut-être] ne sont pas présents, la procédure utilise la sémantique non idempotente par défaut. Dans ce cas, l’opération n’est exécutée qu’une seule fois.
Voir aussi