Pemrosesan Konfirmasi

Urutan peristiwa untuk pemrosesan konfirmasi adalah sebagai berikut:

  1. Tetapkan tingkat sinkronisasi.

  2. Kirim permintaan konfirmasi.

  3. Menerima data dan permintaan konfirmasi.

  4. Tanggapi permintaan konfirmasi.

  5. Batalkan alokasi percakapan.

    Menggunakan pemrosesan konfirmasi, TP mengirimkan permintaan konfirmasi dengan data; TP mitra mengonfirmasi penerimaan data atau menunjukkan bahwa terjadi kesalahan. Setiap kali kedua TPs bertukar permintaan dan respons konfirmasi, mereka disinkronkan.

Nota

Meskipun contoh di bagian ini tidak menunjukkan ini, TP apa pun dapat mengirim atau menerima data, terlepas dari apakah TP adalah TP yang memanggil atau TP yang dapat dipanggil.

Contoh berikut mengilustrasikan pemrosesan konfirmasi.

Dikeluarkan oleh TP yang memanggil Dikeluarkan oleh TP yang dapat dipanggil
TP_STARTED
MC_ALLOCATE
(synclevel=AP_CONFIRM_SYNC_LEVEL)
MC_SEND_DATA
(type=AP_SEND_DATA_CONFIRM)
TERIMA_ALOKASI
MC_RECEIVE_AND_WAIT
MC_SEND_DATA
(type=AP_SEND_DATA_DEALLOC_SYNC_LEVEL)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(rtn_status=AP_YES)
(what_rcvd= AP_DATA_COMPLETE_CONFIRM_ DEALLOCATE)
MC_CONFIRMED
TP_BERAKHIR Proses Transaksi Berakhir

Menetapkan Tingkat Sinkronisasi

Parameter sinkronisasiMC_ALLOCATE menentukan tingkat sinkronisasi percakapan. Ada tiga kemungkinan tingkat sinkronisasi:

  • AP_NONE, di mana pemrosesan konfirmasi tidak terjadi.

  • AP_CONFIRM_SYNC_LEVEL, di mana TPs dapat meminta konfirmasi penerimaan data dan memberikan tanggapan terhadap permintaan konfirmasi data.

  • AP_SYNCPT, di mana TPs beroperasi di bawah dukungan Sync Point Level 2 untuk konfirmasi penerimaan data.

Mengirim Permintaan Konfirmasi

MC_SEND_DATA dengan jenis AP_SEND_DATA_CONFIRM memiliki dua efek:

  • Ini membersihkan buffer kirim LU lokal dan mengirim data apa pun yang terkandung dalam buffer ke TP mitra.

  • Ini mengirimkan permintaan konfirmasi yang diterima oleh TP mitra melalui parameter what_rcvd dalam kata kerja penerimaan.

    Setelah mengeluarkan MC_SEND_DATA, TP lokal menunggu konfirmasi dari TP mitra.

Menerima Data dan Permintaan Konfirmasi

Parameter what_rcvdMC_RECEIVE_AND_WAIT menunjukkan:

  • Status data yang diterima: lengkap atau tidak lengkap.

  • Pemrosesan masa depan yang akan dilakukan oleh TP lokal.

    Dalam contoh, what_rcvd AP_DATA_COMPLETE_CONFIRM, menunjukkan bahwa status selesai dan konfirmasi diminta.

Menanggapi Permintaan Konfirmasi

TP mitra mengeluarkan MC_CONFIRMED untuk mengonfirmasi penerimaan data. Ini membebaskan TP lokal untuk melanjutkan pemrosesan.

Membatalkan Alokasi Percakapan

MC_SEND_DATA mengirimkan permintaan konfirmasi dengan data ketika semua kondisi berikut ini benar:

  • Tingkat sinkronisasi percakapan (ditetapkan oleh parameter tingkatSinkronisasiMC_ALLOCATE) AP_CONFIRM_SYNC_LEVEL.

  • Parameter jenis MC_SEND_DATA diatur ke AP_SEND_DATA_DEALLOC_SYNC_LEVEL.

  • Parameter what_rcvd adalah AP_DATA_COMPLETE_CONFIRM_DEALLOCATE pada MC_RECEIVE_AND_WAIT yang terakhir, menunjukkan bahwa konfirmasi penerimaan data diperlukan sebelum APPC akan melepas alokasi percakapan. TP lokal menunggu konfirmasi ini hingga TP mitra mengeluarkan MC_CONFIRMED.