透過集合功能整理內容 你可以依據偏好儲存及分類內容。

nl::編織::

這個命名空間包含 Weave 位址和路由模組的介面,這是用來設定 Weveve IP 位址和路徑的可攜式模組。

總結

列舉

ActionType{
  kActionTypeWiFiHostAddress = (1 << 0),
  kActionTypeThreadHostAddress = (1 << 1),
  kActionTypeThreadThreadAddress = (1 << 2),
  kActionTypeLegacy6LoWPANHostAddress = (1 << 3),
  kActionTypeLegacy6LoWPANThreadAddress = (1 << 4),
  kActionTypeHostRouteThread = (1 << 5),
  kActionTypeThreadAdvertisement = (1 << 6),
  kActionTypeThreadRoute = (1 << 7),
  kActionTypeTunnelHostAddress = (1 << 8),
  kActionTypeTunnelHostRoute = (1 << 9),
  kActionTypeThreadRoutePriority = (1 << 10),
  kActionTypeTunnelServiceRoute = (1 << 11),
  kActionTypeMax = (1 << 16)
}
列舉
InitState{
  kInitStateNotInitialized = 0
}
列舉
InterfaceState 列舉
可能的介面狀態值列舉。
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
列舉
可用介面類型的列舉。
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
列舉
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
列舉
可能的平台 API 傳回值的列舉。
RoutePriority 列舉
可能路徑優先順序的列舉值,以便讓特定路徑的優先順序高於其他路徑。
SystemFeatureType{
  kSystemFeatureTypeIsFabricMember = (1 << 0),
  kSystemFeatureTypeWiFiConnected = (1 << 1),
  kSystemFeatureTypeThreadConnected = (1 << 2),
  kSystemFeatureTypeThreadRoutingEnabled = (1 << 3),
  kSystemFeatureTypeBorderRoutingEnabled = (1 << 4),
  kSystemFeatureTypeTunnelInterfaceEnabled = (1 << 5),
  kSystemFeatureTypeTunnelState = (1 << 6),
  kSystemFeatureTypeCellularConnected = (1 << 7),
  kSystemFeatureTypeMax = (1 << 16)
}
列舉

Typedefs

ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId) typedef
FlagsType typedef
uint16_t

變數

kGlobalULAPrefixLength = 48
const uint8_t
kLegacy6LoWPANULAAddressPrefixLength = 64
const uint8_t
kThreadULAAddressPrefixLength = 64
const uint8_t
kTunnelAddressPrefixLength = 128
const uint8_t
kWiFiULAAddressPrefixLength = 64
const uint8_t
sFabricStateDelegate
sState

函式

BorderRouterStateChange(InterfaceState inState)
void
WARM API 呼叫了關於邊界路由器功能的「狀態變更」。
CellularInterfaceStateChange(InterfaceState inState)
void
WARM API 呼叫 ,以宣告行動網路介面的狀態變更。
FabricStateChange(InterfaceState inState)
void
稱為「函式」的函式,用來表示「變形」功能的狀態變更。
GetCurrentActionState(ActionType inAction)
bool
這項靜態函式會傳回指定動作的目前狀態。
GetFabricState(const WeaveFabricState *& outFabricState)
獲益的 WARM API,可擷取在 Init 期間提供給 Warm 的 FabricState 物件。
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
可取得目前系統狀態的靜態函式。
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
要用來取得指定介面類型的 ULA 的 WARM API。
Init(WeaveFabricState & inFabricState)
要用來執行一次性模組初始化的 WARM API。
InvokeActions(void)
void
WARM API,由專用工作呼叫以執行各種平台 API 動作。
LegacyHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
MakePrefix(const uint64_t & inGlobalID, const uint16_t subnetId, const uint8_t inPrefixLen, Inet::IPPrefix & outPrefix)
void
用來從全域 ID 建構 48 位元前置字串的公用程式。
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
這項靜態函式會傳回 TunnelAvailability 到 RoutePriority 的對應。
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
記錄平台 API 動作呼叫結果的靜態函式。
ReportActionComplete(PlatformResult inResult)
void
WARM API 呼叫,以完成之前的非同步平台 API 呼叫。
SetCurrentActionState(ActionType inAction, bool inValue)
void
這項靜態函式可設定指定動作的目前狀態。
SetSystemFeatureState(SystemFeatureType inSystemFeature, bool inValue)
bool
可設定系統功能目前狀態的靜態函式。
ShouldPerformAction(ActionType inAction, FlagsType inNecessarySystemFeatureState, bool & outActivate)
bool
這個靜態函式可判斷是否要執行指定的動作。
SystemFeatureStateChangeHandler(SystemFeatureType inSystemFeatureType, bool inState)
void
這個靜態函式會設定系統功能狀態,並通知平台事件狀態已變更。
TakeActions(void)
void
這項靜態函式會測試每個動作的「狀態」,並在必要時執行平台 API 呼叫來變更動作狀態。
ThreadAdvertisementAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
ThreadInterfaceStateChange(InterfaceState inState)
void
WARM API 呼叫以宣告 Thread 介面的狀態變更。
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
ThreadRoutingStateChange(InterfaceState inState)
void
WARM API 呼叫以宣告 Thread 路由功能的狀態狀態變更。
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
TunnelInterfaceStateChange(InterfaceState inState)
void
WARM API 呼叫 會宣告 Weave Tunnel 介面的狀態變更。
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
WARM API 呼叫以更新 Tunnel Service 的優先順序。
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
WARM API 呼叫 會宣告 Weave Tunnel 介面的狀態變更。
WiFiHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種動作方法。
WiFiInterfaceStateChange(InterfaceState inState)
void
WARM API 呼叫 時,可宣告 WiFi 介面的狀態變更。

類別

nl::Weave::Warm::WarmFabricStateDelegate

這是 HotCore 的內部類別。

結構

nl::Weave::Warm::ActionEntry
nl::Weave::Warm::ModuleState

命名空間

nl::Weave::Warm:: 平台

列舉

動作類型

 ActionType
屬性
kActionTypeHostRouteThread

新增 | 移除主機 IP 堆疊 Thread 介面的 IP 路徑。

kActionTypeLegacy6LoWPANHostAddress

新增 | 移除主機 IP 堆疊中舊版 6 LowPAN 介面的 IP 位址。

kActionTypeLegacy6LoWPANThreadAddress

新增 | 移除 Thread 模組 IP 堆疊中舊版 6 LowPAN 介面的 IP 位址。

kActionTypeMax

請勿排除;保留可標記的最大位元數。

kActionTypeThreadAdvertisement

開始 | 使用「執行緒」模組停止路徑廣告。

kActionTypeThreadHostAddress

新增 | 移除主機 IP 堆疊中執行緒介面的 IP 位址。

kActionTypeThreadRoute

新增 | 移除 Thread 模組中支援邊界路徑的 IP 路徑。

kActionTypeThreadRoutePriority

變更執行緒模組的 Route Route 路徑優先順序。

kActionTypeThreadThreadAddress

新增 | 移除 Thread 模組的 IP 堆疊 IP 介面 IP 位址。

kActionTypeTunnelHostAddress

新增 | 移除主機 IP 堆疊中 Tunnel 介面的 IP 位址。

kActionTypeTunnelHostRoute

新增 | 移除主機 IP 堆疊中 Tunnel 介面的 IP 路徑。

kActionTypeTunnelServiceRoute

新增 | 移除主機 IP 堆疊中 Service 子網路的 64 位元 IP 路徑。

kActionTypeWiFiHostAddress

新增 | 移除主機 IP 堆疊中 Wi-Fi 介面的 IP 位址。

InitState

 InitState
屬性
kInitStateNotInitialized

這必須是 0,這樣 mInitState 的初始值才是 kInitStateNotInitialized。

介面狀態

 InterfaceState

可能的介面狀態值列舉。

介面類型

 InterfaceType

可用介面類型的列舉。

屬性
kInterfaceTypeCellular

「行動數據」介面。

kInterfaceTypeLegacy6LoWPAN

執行緒警報介面。

kInterfaceTypeThread

執行緒介面。

kInterfaceTypeTunnel

通道介面。

kInterfaceTypeWiFi

WiFi 介面。

平台動作執行

 PlatformActionExecution
屬性
kPlatformActionExecutionContinue

繼續執行動作。

kPlatformActionExecutionSuspendForAsynchOpCompletion

暫停執行非同步作業。

平台結果

 PlatformResult

可能的平台 API 傳回值的列舉。

屬性
kPlatformResultFailure

API 執行失敗。

kPlatformResultInProgress

作業進行中,將以非同步方式完成。

kPlatformResultSuccess

已成功完成 API。

路徑優先順序

 RoutePriority

可能路徑優先順序的列舉值,以便讓特定路徑的優先順序高於其他路徑。

系統功能類型

 SystemFeatureType
屬性
kSystemFeatureTypeBorderRoutingEnabled

系統的邊界轉送功能是 IS | 未啟用。

kSystemFeatureTypeCellularConnected

系統的介面 IS | 尚未連線。

kSystemFeatureTypeIsFabricMember

系統的 Weveve 模組是 1 | 不是 1 織布的成員。

kSystemFeatureTypeMax

請勿排除;保留可標記的最大位元數。

kSystemFeatureTypeThreadConnected

系統的執行緒介面為「無法」連線,因此「並未」連線。

kSystemFeatureTypeThreadRoutingEnabled

系統的執行緒轉送功能是 [不會啟用]

kSystemFeatureTypeTunnelInterfaceEnabled

系統的 IS 介面 | 未啟用。

kSystemFeatureTypeTunnelState

系統服務 IS | 尚未建立。

kSystemFeatureTypeWiFiConnected

系統的 Wi-Fi 介面為「無法」連線。

Typedefs

動作函式

PlatformResult(* ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId)

旗幟類型

uint16_t FlagsType

變數

kGlobalULAPrefixLength

const uint8_t kGlobalULAPrefixLength = 48

kLegacy6LoWPANULAAddressPrefixLength

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

kThreadULAAddressPrefixLength

const uint8_t kThreadULAAddressPrefixLength = 64

kTunnelAddressPrefixLength

const uint8_t kTunnelAddressPrefixLength = 128

kWiFiULAAddress 前置字串長度

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

SState

ModuleState sState

函式

邊界路徑狀態變更

void BorderRouterStateChange(
  InterfaceState inState
)

WARM API 呼叫了關於邊界路由器功能的「狀態變更」。

詳細資料
參數
[in] inState
如果邊界路由器功能為 kInterfaceStateUp,則 kInterfaceStateUp。

變更行動介面狀態

void CellularInterfaceStateChange(
  InterfaceState inState
)

WARM API 呼叫 ,以宣告行動網路介面的狀態變更。

詳細資料
參數
[in] inState
假如 CellInterar 介面已開啟,代表 kInterfaceStateUp,否則為 kInterfaceStateDown。

FabricState 變更

void FabricStateChange(
  InterfaceState inState
)

稱為「函式」的函式,用來表示「變形」功能的狀態變更。

詳細資料
參數
[in] inState
kInterfaceStateUp (如果系統是 Weave 織物成員的成員,則請參照 kInterfaceStateDown)。

取得目前動作狀態

bool GetCurrentActionState(
  ActionType inAction
)

這項靜態函式會傳回指定動作的目前狀態。

詳細資料
參數
[in] inAction
要查詢的動作類型。
傳回
如果動作為 True,則傳回 true,否則為 false。

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

獲益的 WARM API,可擷取在 Init 期間提供給 Warm 的 FabricState 物件。

詳細資料
參數
[out] outFabricState
參照 brState 物件的指標。
傳回值
WEAVE_NO_ERROR
成功。
WEAVE_ERROR_INCORRECT_STATE
如果在 WARM 初始化之前就呼叫此 API。

取得系統功能狀態

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

可取得目前系統狀態的靜態函式。

詳細資料
參數
[in] inSystemFeature
要查詢的系統功能。
傳回
如果「系統功能」已啟用,則傳回 true,否則為 false。

GetULA 檔

WEAVE_ERROR GetULA(
  InterfaceType inInterfaceType,
  Inet::IPAddress & outAddress
)

要用來取得指定介面類型的 ULA 的 WARM API。

詳細資料
參數
[in] inInterfaceType
要執行 ULA 的介面類型。
[out] outAddress
用來保留產生的 ULA 的地址物件。
傳回值
WEAVE_NO_ERROR
成功。
WEAVE_ERROR_INCORRECT_STATE
如果 WARM 不是 Fabric 的成員,就會呼叫此 API。
WEAVE_ERROR_INVALID_ARGUMENT
如果呼叫的 API 使用無效的介面類型,

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

要用來執行一次性模組初始化的 WARM API。

詳細資料
參數
[in] inFabricState
有效的 WeaveFabricState 參照。
傳回值
WEAVE_NO_ERROR
成功初始化時。
WEAVE_ERROR_INCORRECT_STATE
呼叫 Init 時多次。
other
否則會顯示錯誤。
傳回
WEAVE_NO_ERROR 成功,否則不會發生錯誤代碼。

叫用動作

void InvokeActions(
  void
)

WARM API,由專用工作呼叫以執行各種平台 API 動作。

這代表執行必要動作的進入點,以滿足目前的系統狀態。舉例來說,如果 Thread 堆疊從已停用變為啟用,這個函式就會進行必要的平台呼叫,以指派執行緒主機位址等。只有在回應 Inarm 呼叫 RequestInvokeActions 時,平台程式碼才能呼叫此函式。呼叫 InvokeActions 會導致一或多次呼叫 nl::Warm::Platform API。因此,開發人員應正確導入 RequestInvokeActions 以及 InvokeActions() 的呼叫者。例如,要求 InInokeActions 可將事件張貼至工作中,該呼叫會呼叫 InvokeActions()。反之,如果系統是單執行緒,則可實作 RequestInvokeActions,直接呼叫 InvokeActions()

舊主機位址動作

PlatformResult LegacyHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定舊版介面的主機位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::HostAddress() 轉寄結果。

舊版執行緒位址動作

PlatformResult LegacyThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定舊版 6LoWPAN 介面的執行緒位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::ThreadAddress() 轉寄結果。

MakePrefix

void MakePrefix(
  const uint64_t & inGlobalID,
  const uint16_t subnetId,
  const uint8_t inPrefixLen,
  Inet::IPPrefix & outPrefix
)

用來從全域 ID 建構 48 位元前置字串的公用程式。

詳細資料
參數
[in] inGlobalID
Weave 全域 ID 的參照。
[out] outPrefix
初始化的前置字串。

MapAvailabilityToPriority

RoutePriority MapAvailabilityToPriority(
  Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

這項靜態函式會傳回 TunnelAvailability 到 RoutePriority 的對應。

詳細資料
參數
[in] inAvailability
Weave 隧道可用性模式。
傳回
優先順序對應值。

記錄平台結果

PlatformActionExecution RecordPlatformResult(
  PlatformResult inResult,
  ActionType inAction,
  bool inActionState
)

記錄平台 API 動作呼叫結果的靜態函式。

這個模組可經由平台專用的 API 要求執行動作,API 要求回報該動作要求的 kPlatformResultSuccess|kPlatformResultFailed|kPlatformResultInProgress 結果。這個函式會記錄該結果,如果結果是進行中,則會傳回 true,且後續動作應延後處理。

詳細資料
參數
[in] inResult
平台 API 結果。
[in] inAction
平台 API 嘗試執行的動作。
[in] inActionState
如果結果成功,就會加上新的動作狀態。
傳回
true,平台 API 會以非同步方式處理要求,否則為 false。

報表動作完成

void ReportActionComplete(
  PlatformResult inResult
)

WARM API 呼叫,以完成之前的非同步平台 API 呼叫。

假設平台動作 API 會執行非同步作業。如為 true,平台 API 會傳回 kPlatformResultInProgress。這種情況下,在系統呼叫 ReportActionComplete 以宣告作業完成之前,系統會暫停新的「地址」和「轉送動作」。

詳細資料
參數
[in] inResult
待處理動作的結果。必須是下列其中一個值:{kPlatformResultSuccess | kPlatformResultFailed}

設定目前動作狀態

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

這項靜態函式可設定指定動作的目前狀態。

詳細資料
參數
[in] inAction
要變更的動作類型。
[in] inValue
要採用的新州值。

設定系統功能狀態

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

可設定系統功能目前狀態的靜態函式。

詳細資料
參數
[in] inSystemFeature
要設定的 SystemFeature。
[in] inValue
要採用的新州值。
傳回
如果「系統功能」已變更,則傳回 true,否則為 false。

應執行動作

bool ShouldPerformAction(
  ActionType inAction,
  FlagsType inNecessarySystemFeatureState,
  bool & outActivate
)

這個靜態函式可判斷是否要執行指定的動作。

此函式會檢查「系統功能狀態」旗標的條件,並判斷要啟用還是停用指定動作。接著,函式會檢查動作的目前狀態,如果動作未設定為「系統功能」狀態的值,則該函式會在 outActivate 中傳回 true 以及所需的動作狀態

詳細資料
參數
[in] inAction
待查詢的動作。
[in] inNecessarySystemFeatureState
啟用動作所需的狀態標記。
[out] outActivate
所需的動作狀態。
傳回
如果動作目前並非所需的狀態,則傳回 true,否則為 false。

系統功能狀態變更處理常式

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

這個靜態函式會設定系統功能狀態,並通知平台事件狀態已變更。

由 EventStateChange API's 呼叫,以便執行必要的回應作業。

詳細資料
參數
[in] inSystemFeatureType
與所呼叫 API 相對應的狀態。
[in] inState
狀態的新值。

可採取的行動

void TakeActions(
  void
)

這項靜態函式會測試每個動作的「狀態」,並在必要時執行平台 API 呼叫來變更動作狀態。

這個函式使用 shouldExecuteAction() 來判斷是否需要變更/擷取動作狀態。如果 TrueExecuteAction() 傳回 true,函式就會呼叫適當的動作 API 來執行該動作,以便將其放置在所需的狀態中。動作 API 呼叫的結果會傳入 RecordPlatformResult()。如果函式傳回 true,系統就會終止這個函式的執行。

執行緒廣告動作

PlatformResult ThreadAdvertisementAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定執行緒廣告狀態

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::ThreadAdvertisingment() 轉寄結果。

執行緒主機位址動作

PlatformResult ThreadHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定執行緒介面的主機位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::HostAddress() 轉寄結果。

ThreadHostRouteAction

PlatformResult ThreadHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定執行緒介面的主機路徑。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::HostRoute() 轉送結果。

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

WARM API 呼叫以宣告 Thread 介面的狀態變更。

詳細資料
參數
[in] inState
ThreadInterface.

ThreadRoutePriorityAction

PlatformResult ThreadRoutePriorityAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

根據 Tunnel 可用性設定執行緒路徑優先順序。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
轉寄 Platform::ThreadRoutePriority() 的結果。

執行緒轉送狀態變更

void ThreadRoutingStateChange(
  InterfaceState inState
)

WARM API 呼叫以宣告 Thread 路由功能的狀態狀態變更。

詳細資料
參數
[in] inState
如果 Thread 轉送功能已啟動,則 kInterfaceStateUp,否則為 kInterfaceStateDown。

執行緒執行緒動作

PlatformResult ThreadThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定執行緒介面的執行緒位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::ThreadAddress() 轉寄結果。

ThreadThreadRouteAction

PlatformResult ThreadThreadRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定執行緒堆疊的執行緒路徑。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::ThreadRoute() 轉送結果。

通道主機位址動作

PlatformResult TunnelHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定通道介面的主機位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::HostAddress() 轉寄結果。

通道主機路徑動作

PlatformResult TunnelHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定 Tunnel 介面的 HostRoute。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::HostRoute() 轉送結果。

變更通道介面狀態

void TunnelInterfaceStateChange(
  InterfaceState inState
)

WARM API 呼叫 會宣告 Weave Tunnel 介面的狀態變更。

詳細資料
參數
[in] inState
如果 Weave Tunnel 介面亮起,請使用 kInterfaceStateUp,否則為 kInterfaceStateDown。

變更通道優先順序狀態

void TunnelPriorityStateChange(
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

WARM API 呼叫以更新 Tunnel Service 的優先順序。

詳細資料
參數
[in] inAvailability
通道可用性狀態的新值。

變更 TunnelServiceState

void TunnelServiceStateChange(
  InterfaceState inState,
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

WARM API 呼叫 會宣告 Weave Tunnel 介面的狀態變更。

詳細資料
參數
[in] inState
如果有 kInterfaceStateUp,則 kInterfaceStateUp。
[in] inAvailability
稍後在設定通道時使用的可用性狀態。

WiFi 主機位址動作

PlatformResult WiFiHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

其中一種動作方法。

設定 WiFi 介面的主機位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需的 State true == activate, false == deactivate。
[in] inGlobalId
系統會參照 Weave 全域 ID (如果有計算地址的話)。
[in] inInterfaceId
參照裝置介面 ID (如果需要計算地址)。
傳回
從 Platform::HostAddress() 轉寄結果。

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

WARM API 呼叫 時,可宣告 WiFi 介面的狀態變更。

詳細資料
參數
[in] inState
如果 Wi-Fi 介面啟動,使用 kInterfaceStateUp,否則為 kInterfaceStateDown。