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 di Cluster.

Dengan cara yang mirip dengan Transaksi Tulis, Transaksi Panggilan mendukung Transaksi Berwaktu dan Tidak Berwaktu. Silakan baca bagian Tindakan Berbatas Waktu dan Tidak Berbatas Waktu untuk mengetahui informasi lebih lanjut tentang Transaksi Berbatas Waktu.

Transaksi Panggilan Tanpa Waktu

Urutan operasi Transaksi Panggilan Tanpa Waktu
Gambar 1: Transaksi Panggilan Tanpa Waktu

Memanggil Tindakan Permintaan

Arah: Inisiator -> Target

Serupa dengan Tindakan Permintaan Baca dan Tindakan Permintaan Tulis, dalam Tindakan ini Pemrakarsa memberi Target:

  • Permintaan Pemanggilan: daftar jalur ke Perintah Cluster, serta argumen opsional untuk perintah, yang bernama Bidang Perintah.
  • Permintaan Berwaktu: flag yang menunjukkan apakah tindakan ini merupakan bagian dari Transaksi Panggilan Berwaktu.
  • Suppress Response: tanda yang menunjukkan apakah Tindakan Respons Panggil harus disembunyikan.
  • ID Interaksi: bilangan bulat yang digunakan untuk mencocokkan Action Permintaan Panggilan ke Action Respons Panggilan.

Memanggil Tindakan Respons

Arah: Target -> Penginisiasi

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

  • Invoke Responses: daftar respons atau status perintah untuk setiap permintaan invoke yang dikirim.
  • ID Interaksi: bilangan bulat yang digunakan untuk mencocokkan Tindakan Respons Panggilan ke Tindakan Permintaan Panggilan.

Pembatasan Panggilan Tanpa Waktu

Tindakan Permintaan Panggilan mungkin berupa groupcast, tetapi dalam hal ini tanda Sembunyikan Respons harus ditetapkan. Alasannya adalah jika tidak, jaringan mungkin dibanjiri oleh respons serentak dari setiap anggota grup.

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

Transaksi Panggilan Berwaktu

Serupa dengan Transaksi Tulis Berwaktu, Transaksi Panggilan Berwaktu juga dimulai dengan Tindakan Permintaan Berwaktu.

Urutan operasi Transaksi Panggilan Berwaktu
Gambar 2: Timed Invoke Transaction

Tindakan Permintaan Berbatas Waktu

Arah: Inisiator -> Target

Penginisiasi memulai Transaksi yang mengirimkan Action ini yang berisi:

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

Setelah Tindakan Permintaan Berwaktu diterima, Target harus mengonfirmasi Tindakan Permintaan Berwaktu dengan Tindakan Respons Status. Setelah Pemanggil menerima Action Respons Status yang tidak melaporkan error, Pemanggil akan mengirim Action Permintaan Panggilan.

Memanggil Tindakan Permintaan

Sama seperti Invoke Request Action yang dijelaskan sebelumnya.

Memanggil Tindakan Respons

Sama seperti Invoke Response Action yang dijelaskan sebelumnya.

Batasan Panggilan Berbatas Waktu

Semua perintah pemanggilan dapat dipanggil pada Interaksi Berjangka Waktu. Tindakan Permintaan Berjangka Waktu, Tindakan Permintaan Panggilan, dan Tindakan Respons Panggilan hanya untuk Unicast sehingga tidak dapat digunakan sebagai groupcast pada Transaksi Panggilan Berjangka Waktu.

Action Permintaan Panggilan mendukung penggunaan jalur dengan Grup, serta karakter pengganti, tetapi Action Respons Panggilan tidak mendukung penggunaan karakter pengganti.