Bagikan melalui


Menerima Pesan

Gambar berikut menunjukkan metode untuk menerima pesan dari Modul Akses Dinamis (DMOD).

Gambar yang memperlihatkan proses penerimaan pesan dengan menggunakan prosedur perutean.
Menerima pesan menggunakan prosedur perutean

Setelah inisialisasi DMOD, emulator 3270 mendaftarkan prosedur perutean dengan memanggil sepdrout. Ketika DMOD menerima pesan, DMOD memanggil prosedur perutean emulator 3270, yang kemudian dapat memproses pesan.

Dengan pendekatan ini, tidak ada peralihan konteks antara utas DMOD dan utas emulator 3270. Namun, prosedur perutean harus mengembalikan kontrol ke DMOD dengan cepat. Misalnya, tidak dapat menghentikan proses menunggu input keyboard.

Aplikasi harus menentukan apakah pesan yang diterima adalah untuk aplikasi ini atau untuk aplikasi lain. Jika pesan bukan untuk aplikasi ini, prosedur perutean harus mengembalikan, dengan menandakan bahwa pesan tersebut belum diproses. Jika aplikasi memproses pesan, aplikasi bertanggung jawab untuk membebaskan buffer ketika pemrosesan selesai.

Dalam beberapa kasus, prosedur perutean dapat memproses pesan hingga tuntas. Alternatifnya adalah prosedur perutean dapat menempatkan pesan pada antrean aplikasi dan kemudian membersihkan semaphore aplikasi. Aplikasi kemudian dapat memproses pesan.

Performa dapat ditingkatkan lebih lanjut dengan mengirim pesan Status-Resource (untuk mengembalikan kredit ke simpul lokal, memungkinkannya untuk mengirim data lebih lanjut) dari prosedur perutean ketika pesan diterima, daripada menunggu sampai pesan diproses hingga selesai. Penggunaan ini diilustrasikan dalam Kode Sampel: Inisialisasi dan Prosedur Perutean. Untuk informasi selengkapnya tentang kontrol kredit dan aliran, lihat Pengaturan Kecepatan dan Pembagian.

Setelah aplikasi menerima pesan, aplikasi bertanggung jawab atas buffer tempat pesan diterima. Aplikasi harus menggunakan kembali buffer untuk mengirim pesan (menggunakan sbpusend) atau merilisnya (menggunakan sepdburl). Jika buffer yang akan digunakan kembali tidak berisi jumlah elemen yang benar untuk pesan yang akan dikirim, aplikasi dapat memperoleh elemen tambahan (menggunakan sbpibegt) atau merilis yang ada (menggunakan sbpiberl). Dalam hal ini, aplikasi juga harus memastikan bahwa bidang numelts di header buffer menunjukkan jumlah elemen yang benar.