atribut idempotensi
Atribut [idempoten] menentukan bahwa operasi tidak mengubah informasi status dan mengembalikan hasil yang sama setiap kali dilakukan. Melakukan rutinitas lebih dari sekali memiliki efek yang sama seperti melakukannya sekali.
[
interface-attribute-list
]
interface interface-name
{
[idempotent [, attribute-list]] returntype function-name(params)
}
-
daftar atribut antarmuka
-
Menentukan daftar atribut IDL nol atau lebih yang berlaku untuk antarmuka secara keseluruhan. Ketika ada dua atribut antarmuka atau lebih, atribut tersebut harus dipisahkan dengan koma.
-
nama antarmuka
-
Menentukan nama antarmuka.
-
daftar atribut
-
Menentukan atribut tambahan yang akan diterapkan ke fungsi. Pisahkan beberapa atribut dengan koma.
-
returntype
-
Menentukan jenis pengembalian fungsi.
-
nama fungsi
-
Menentukan nama fungsi tempat atribut [idempotent] akan diterapkan.
-
params
-
Daftar parameter fungsi.
RPC mendukung dua jenis semantik panggilan jarak jauh: panggilan ke operasi dengan atribut [idempotensi] dan panggilan ke operasi (operasi idempotensi ) tanpa atribut [idempotent] (operasi non-idempotensi ). Operasi idempotensi dapat dilakukan lebih dari sekali tanpa efek sakit. Sebaliknya, operasi non-idempoten tidak dapat dijalankan lebih dari sekali karena akan mengembalikan hasil yang berbeda setiap kali atau karena memodifikasi beberapa status.
Untuk memastikan bahwa prosedur dijalankan kembali secara otomatis jika panggilan tidak selesai, gunakan atribut [idempotent ]. Jika atribut [idempotent], [broadcast], atau [mungkin] tidak ada, prosedur akan menggunakan semantik non-idempotensi secara default. Dalam hal ini, operasi hanya dijalankan sekali.