WifiMonitor的事件發放

2022-04-01 00:44:48 字數 1363 閱讀 9428

wifi框架中wifimonitor負責上報wpa_supplicant的訊息給wifistatemachine,wifinative負責將wifistatemachine的訊息下發給wpa_supplicant執行.

本文先來簡單介紹wifimonitor如何處理事件以及怎麼分發事件。(未完待續)

(1)在wifistatemachine

中initialstate

狀態收到cmd_start_supplicant

訊息時候

if

(mwifinative.startsupplicant(mp2psupported))

else

(2)startmonitoring這是乙個同步函式

(3)關注ensureconnectedlocked函式

(4)乙個跟蹤的執行緒類monitorthread

private

class monitorthread extends

thread

public

void

run()

//noinspection infiniteloopstatement

for(;;)

string eventstr =mwifinative.waitforevent();

//skip logging the common but mostly uninteresting events

if (!eventstr.contains(bss_added_str) && !eventstr.contains(bss_removed_str))

if(dispatchevent(eventstr)) }}

}

(5)然後事件被dispatchevent

函式分發。

ispatchevent

函式有兩個,乙個是乙個引數,乙個是兩個引數的。

1

private

boolean

dispatchevent(string eventstr, string iface)

2 private

synchronized

boolean dispatchevent(string eventstr)

回發事件執行很慢的問題

自己寫了乙個專門繫結datagrid的使用者控制項,如圖 實現分頁的乙個相同操作.使用方法 datagrid m dt 在大家部分地方使用都是正常的,可是今天出現了乙個問題.在有的頁面,控制項 頁面的所有控制項 的回發事件執行非常慢.經除錯不是事件沒有回發到伺服器,而在回發事件執行控制項初始化的時候...

對事件與委託的理解 2 引發事件

事件功能是由三個互相聯絡的元素提供的 提供事件資料的類 事件委託和引發事件的類。framework 具有命名與事件相關的類和方法的約定。如果想要您的類引發乙個名為 eventname 的事件,您需要以下元素。framework 類庫或第三方類庫中可能已經定義了事件資料類和事件委託類。在這種情況下,您...

頁面回發和事件回傳

客戶端 瀏覽器 客戶端事件 傳送資料 資料 服務端 引發伺服器端事件處理程式 處理資料 處理完畢,重新形成 html 傳送 html 客戶端 瀏覽器 展示 頁面回發包含了 頁面第一次傳送到客戶端引起的 not ispostback 和客戶端事件 事件回傳 引起的頁面回發 上面的圖就是頁面回發的示意圖...