Bagikan melalui


Model komunikasi, sinkronisasi, dan pembatalan

Pada tingkat tinggi, dokumentasi ini mendefinisikan dua jenis objek:

  1. Adaptor, yang mewakili perangkat Wi-Fi.
  2. Port, yang mewakili entitas MAC dan PHY yang berbeda dalam adaptor.

Untuk informasi selengkapnya tentang objek ini, lihat Model dan objek perangkat Wi-Fi. Perintah, sekumpulan operasi yang diizinkan, didefinisikan untuk masing-masing objek ini. Perintah selanjutnya dikategorikan ke dalam Properti dan Tugas.

Perintah properti adalah perintah sederhana (seperti mendapatkan kekuatan sinyal, mendapatkan daftar BSS saat ini, dan mengatur filter paket). Mereka selesai dalam durasi waktu yang singkat dan tidak rumit untuk diimplementasikan.

Perintah tugas adalah operasi kompleks yang mungkin membutuhkan waktu beberapa detik untuk diselesaikan. Misalnya, operasi pemindaian Wi-Fi akan dikategorikan sebagai tugas dalam model ini.

Semua perintah yang dikeluarkan untuk komponen IHV dapat diselesaikan secara asinkron.

Urutan pesan

Urutan pesan untuk setiap jenis perintah diperlihatkan dalam gambar berikut.

Gambar 1 memperlihatkan urutan perintah tugas.

alur tugas perintah wdi.

Gambar 2 memperlihatkan alur perintah properti.

alur perintah properti wdi.

Gambar 3 menunjukkan alur untuk indikasi.

alur indikasi wdi.

Sinkronisasi

Agar implementasi komponen IHV tetap sederhana, model menentukan aturan sinkronisasi berikut:

  1. Perintah selalu diserialisasikan antara Langkah 1 dan 3 dalam Gambar 1 dan Gambar 2. Misalnya, tidak ada perintah baru yang dikeluarkan untuk adaptor hingga indikasi dari adaptor pada Langkah 3. Ini juga menyiratkan bahwa semua properti diserialisasikan satu sama lain.
  2. Semua perintah tugas diserialisasikan antara Langkah 1 dan 4 di Gambar 1. Misalnya, hanya satu tugas yang berjalan pada adaptor pada satu waktu. Namun, setelah tugas dimulai (Langkah 3 di Gambar 1), adaptor mungkin mendapatkan permintaan perintah properti. Langkah 3 dan Langkah 4 harus selesai sebelum perintah tugas berikutnya dikirim.
  3. Perintah kumpulan properti terdiri dari dua jenis – yang dapat dikirim setelah tugas dimulai, dan perintah yang harus diserialisasikan dengan tugas yang tertunda.
  4. Jalur data tidak diserialisasikan dengan jalur perintah, kecuali untuk kasus tertentu yang dijelaskan nanti dalam dokumentasi.
  5. Cakupan sinkronisasi adalah cakupan tingkat adaptor.
  6. Subset tugas dapat dibatalkan setelah dimulai. Ini berarti bahwa jika tugas prioritas yang lebih tinggi (A) tiba sementara tugas prioritas yang lebih rendah (B) luar biasa, B dapat dibatalkan oleh host. Rasionalisasi keputusan prioritas berada di luar cakupan dokumentasi ini dan bergantung pada skenario pengguna.
  7. Untuk perintah tugas, Langkah 4 dapat datang sebelum Langkah 3 selesai. Namun, jika Langkah 4 ditunjukkan, Langkah 3 tidak dapat gagal.

Batalkan

Sebagian besar tugas dapat dibatalkan setelah dimulai. Tujuan pembatalan adalah untuk memicu adaptor untuk menyelesaikan tugas dengan cepat dengan mengirim indikasi lengkap (Langkah 4 pada Gambar 1). Batalkan hanya diperbolehkan di jendela antara Langkah 3 dan 4 di Gambar 1. Saat menerima pembatalan, adaptor harus menyelesaikan tugas dalam waktu 50 milidetik. Untuk sebagian besar perintah, setelah menerima pembatalan, adaptor tidak perlu kembali ke status sebelum perintah dimulai. Kondisi balapan ada antara perintah batalkan yang dikeluarkan dan penyelesaian tiba ke komponen host. Dalam hal ini, jika komponen IHV menerima pembata lanjutan untuk tugas yang telah diselesaikannya, tidak ada tindakan lebih lanjut yang diperlukan dari komponen IHV untuk memproses operasi pembatakan. Membatalkan tugas hanyalah sinyal bahwa komponen IHV harus membersihkan tugas sesegera mungkin. Semantik penyelesaian perintah tidak diubah jika pembata lanjutan dikeluarkan. Baik penyelesaian untuk perintah properti batalkan, dan indikasi penyelesaian tugas harus diberi tahu dengan tepat dalam semua kasus.

Properti diharapkan selesai dalam waktu singkat sehingga tidak dapat dibatalkan.

Perintah tugas memiliki pengidentifikasi unik yang memungkinkan host menargetkan perintah tertentu untuk dibatalkan.