Memanggil Transaksi

Invoke Transactions digunakan untuk memanggil satu atau beberapa Perintah Cluster di Node Target. Hal ini mirip dengan panggilan prosedur jarak jauh yang dilakukan ke perintah yang ditentukan dalam Cluster.

Dengan cara yang sama seperti Transaksi Tulis, Transaksi Panggil mendukung Transaksi Berwaktu dan Tidak Berwaktu. Lihat bagian Tindakan Berwaktu dan Tidak Berwaktu untuk mengetahui informasi lebih lanjut tentang Transaksi Berwaktu.

Transaksi Panggil Tidak Berwaktu

Urutan operasi Transaksi Pemanggilan Tanpa Waktu
Gambar 1: Transaksi Panggil Tidak Berwaktu

Tindakan Permintaan Panggil

Arah: Inisiator -> Target

Mirip dengan Tindakan Permintaan Baca dan Tindakan Permintaan Tulis, dalam Tindakan ini, Inisiator memberikan Target dengan:

  • Permintaan Panggil: daftar jalur ke Perintah Cluster, serta argumen opsional ke perintah, yang diberi nama Kolom Perintah.
  • Permintaan Berwaktu: flag yang menunjukkan apakah tindakan ini adalah bagian dari Transaksi Panggil Berwaktu.
  • Respons Batalkan: flag yang menunjukkan apakah Tindakan Respons Panggil harus dibatalkan.
  • ID Interaksi: bilangan bulat yang digunakan untuk mencocokkan Tindakan Permintaan Panggil dengan Tindakan Respons Panggil.

Tindakan Respons Panggil

Arah: Target -> Inisiator

Setelah menerima Tindakan Permintaan Panggil, Target akan menyelesaikan transaksi dengan Tindakan Respons Panggil yang membawa:

  • Respons Panggil: daftar respons atau status perintah untuk setiap permintaan panggil yang dikirim.
  • ID Interaksi: bilangan bulat yang digunakan untuk mencocokkan Tindakan Respons Panggil dengan Tindakan Permintaan Panggil.

Batasan Panggil Tidak Berwaktu

Tindakan Permintaan Panggil dapat berupa groupcast, tetapi dalam hal ini, flag Respons Batalkan harus ditetapkan. Alasannya adalah jika tidak, jaringan mungkin akan dibanjiri oleh respons simultan dari setiap anggota grup.

Untuk mengaktifkan perilaku ini, Jalur yang digunakan dalam daftar Permintaan Panggil dapat berisi Grup dan sebagai alternatif, jalur tersebut dapat berisi karakter pengganti, tetapi hanya pada kolom Endpoint. Selain itu, jika Tindakan adalah groupcast, transaksi ini akan dihentikan tanpa respons.

Transaksi Panggil Berwaktu

Mirip dengan Transaksi Tulis Berwaktu, Transaksi Panggil Berwaktu juga dimulai dengan Tindakan Permintaan Berwaktu.

Urutan operasi Transaksi Pemanggilan Berwaktu
Gambar 2: Transaksi Panggil Berwaktu

Tindakan Permintaan Berwaktu

Arah: Inisiator -> Target

Inisiator memulai Transaksi dengan mengirimkan Tindakan ini yang berisi:

  • Waktu Tunggu: berapa milidetik transaksi ini dapat tetap terbuka. Selama periode ini, tindakan berikutnya yang dikirim oleh Inisiator akan dianggap valid.

Setelah Tindakan Permintaan Berwaktu diterima, Target harus mengonfirmasi Tindakan Permintaan Berwaktu dengan Tindakan Respons Status. Setelah menerima Tindakan Respons Status yang tidak melaporkan error, Inisiator akan mengirimkan Tindakan Permintaan Panggil.

Tindakan Permintaan Panggil

Sama seperti Tindakan Permintaan Panggil yang dijelaskan sebelumnya.

Tindakan Respons Panggil

Sama seperti Tindakan Respons Panggil yang dijelaskan sebelumnya.

Batasan Panggil Berwaktu

Semua perintah panggil dapat dipanggil pada Interaksi Berwaktu. Tindakan Permintaan Berwaktu , Tindakan Permintaan Panggil, dan Tindakan Respons Panggil hanya Unicast-only sehingga tidak dapat digunakan sebagai groupcast pada Transaksi Panggil Berwaktu.

Tindakan Permintaan Panggil mendukung penggunaan jalur dengan Grup, serta karakter pengganti, tetapi Tindakan Respons Panggil tidak mendukung penggunaan karakter pengganti.