通訊模型、同步處理和中止
概括而言,本檔會定義兩種類型的物件:
- 代表Wi-Fi裝置的介面卡。
- 埠,表示配接器中的不同 MAC 和 PHY 實體。
如需這些物件的詳細資訊,請參閱 Wi-Fi 裝置模型和物件。 命令是一組允許的作業,會針對每個物件定義。 命令會進一步分類為屬性和工作。
屬性命令是簡單的命令 (,例如取得訊號強度、取得目前的 BSS 清單,以及設定封包篩選) 。 它們會在短時間內完成,而且實作並不複雜。
工作命令是可能需要幾秒鐘才能完成的複雜作業。 例如,Wi-Fi掃描工作會分類為此模型中的工作。
所有發出給 IHV 元件的命令都可以以非同步方式完成。
訊息順序
下圖顯示每種命令類型的訊息序列。
圖 1 顯示工作命令順序。
圖 2 顯示內容命令流程。
圖 3 顯示指示的流程。
同步處理
為了讓 IHV 元件實作保持簡單,此模型會定義下列同步處理規則:
- 命令一律會在圖 1 和圖 2 的步驟 1 到 3 之間序列化。 例如,在步驟 3 的介面卡指示之前,不會對介面卡發出任何新命令。 這也表示所有屬性都會彼此序列化。
- 所有工作命令都會在圖 1 的步驟 1 到 4 之間序列化。 例如,一次只有一個工作在配接器上執行。 不過,一旦工作在圖 1 中的步驟 3 (啟動) ,配接器可能會取得屬性命令要求。 在傳送下一個工作命令之前,步驟 3 和步驟 4 都必須完成。
- 屬性集命令有兩種類型:可以在工作啟動之後傳送,以及必須使用擱置工作序列化的命令。
- 資料路徑不會使用命令路徑序列化,但檔稍後所述的特定案例除外。
- 同步處理範圍是配接器層級範圍。
- 工作子集可以在工作啟動之後中止。 這表示,如果 A) (優先順序較高的工作到達,而 B (B) 的優先順序較低,則 B 可由主機中止。 優先順序決策的合理化超出本檔的範圍,而且取決於使用者案例。
- 對於工作命令,步驟 4 可以在步驟 3 完成之前出現。 不過,如果指出步驟 4,則步驟 3 無法失敗。
中止
大部分的工作都可以在啟動之後中止。 中止的目的是要觸發配接器,藉由傳送完整指示 (圖) 1 中的步驟 4,以快速完成工作。 只有在圖 1 的步驟 3 到 4 之間的視窗中,才允許中止。 在接收中止時,配接器必須在 50 毫秒內完成工作。 對於大部分的命令,在接收中止時,配接器不需要在命令啟動之前回復到狀態。 中止命令和到達主機元件的完成之間存在競爭條件。 在此情況下,如果 IHV 元件收到已完成之工作的中止,則 IHV 元件不需要採取進一步的動作來處理中止作業。 中止工作只是 IHV 元件應該儘快清除工作的訊號。 如果發出中止,命令完成語意不會變更。 中止屬性命令的完成和工作完成指示在所有情況下都必須適當地收到通知。
屬性應該會在短時間內完成,因此無法中止。
工作命令具有唯一識別碼,可讓主機以特定命令為目標進行中止。