參考文檔
① OpenWrt micro bus 架構
② OpenWrt ubus簡介
一、ubus基本概念
- 對象
類似於總線的設備,由服務進程註冊。對象可以對外提供“方法”,可以接收外部“通知”。
ubus還有路徑 “路徑” 的概念。路徑本質上是對象,因爲與 “對象”有密切關聯,所以在命名上看似隸屬“對象” 。
例如:
network
network.device
network.interface
network.interface.lan
network.interface.loopback
network.interface.wan
network.interface.wan2
network.wireless
network描述爲“對象” , 其他描述爲“路徑” 。
- 方法
對於服務端,對象通過方法對外暴露API。對於客戶端,在對象所在的ubus總線上可以“執行”對象代碼並(或)獲取對象狀態。
- 通知
對於客戶端,任意連接同一ubus總線可以任意時刻發射帶標籤(字符串標識)信號通知。對於服務端,服務端時刻監聽總線上的信息,提取感興趣的標籤通知。
- 訂閱
對於客戶端,如果對於一類信息感興趣,可以訂閱。信息變化時,服務端主動通知客戶端。
二、ubus結構框圖
三、ubus API
- 調用流程
可以參考文章ubus簡介.
API列表
參考頭文件libubus.h