nl::Weave::Warm

此命名空間包含 Weave Address 和路由模組的介面,這是一種可設定 Weave 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

Variables

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
呼叫此函式,用於公告 Weave Fabric 功能的狀態變更。
GetCurrentActionState(ActionType inAction)
bool
靜態函式,會傳回指定動作的目前狀態。
GetFabricState(const WeaveFabricState *& outFabricState)
這個 WARM API 可取得在 Init 期間提供給 Warm 的 FabricState 物件。
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
取得系統功能目前狀態的靜態函式。
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
WARM API,取得指定介面類型的 ULA。
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
從 GlobalID 建構 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,用於公告執行緒轉送功能的狀態變更。
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,以更新通道服務的優先順序。
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 可公告 Wi-Fi 介面的狀態變更。

類別

nl::Weave::Warm::WarmFabricStateDelegate

這是 HotCore 的內部類別。

結構

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

命名空間

nl::Weave::Warm::Platform

列舉

ActionType

 ActionType
屬性
kActionTypeHostRouteThread

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

kActionTypeLegacy6LoWPANHostAddress

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

kActionTypeLegacy6LoWPANThreadAddress

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

kActionTypeMax

請勿超過這個限制;保留以標示可用的位元數上限。

kActionTypeThreadAdvertisement

開始 | 透過 Thread 模組停止路徑通告。

kActionTypeThreadHostAddress

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

kActionTypeThreadRoute

新增 | 移除邊界路徑支援,執行緒模組上的 IP 路徑。

kActionTypeThreadRoutePriority

在 Thread 模組上變更執行緒路徑的路徑優先順序。

kActionTypeThreadThreadAddress

新增 | 移除執行緒模組 IP 堆疊上執行緒介面的 IP 位址。

kActionTypeTunnelHostAddress

新增 | 移除主機 IP 堆疊上通道介面的 IP 位址。

kActionTypeTunnelHostRoute

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

kActionTypeTunnelServiceRoute

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

kActionTypeWiFiHostAddress

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

InitState

 InitState
屬性
kInitStateNotInitialized

這個值必須為 0,這樣 mInitState 的初始值就會是 kInitStateNotInitialized。

InterfaceState

 InterfaceState

可能的介面狀態值列舉。

InterfaceType

 InterfaceType

可能的介面類型列舉。

屬性
kInterfaceTypeCellular

行動網路介面。

kInterfaceTypeLegacy6LoWPAN

執行緒鬧鐘介面。

kInterfaceTypeThread

執行緒介面。

kInterfaceTypeTunnel

通道介面。

kInterfaceTypeWiFi

Wi-Fi 介面。

PlatformActionExecution

 PlatformActionExecution
屬性
kPlatformActionExecutionContinue

繼續執行動作

kPlatformActionExecutionSuspendForAsynchOpCompletion

暫停動作執行作業,以完成非同步作業。

PlatformResult

 PlatformResult

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

屬性
kPlatformResultFailure

API 執行失敗。

kPlatformResultInProgress

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

kPlatformResultSuccess

已順利完成 API。

RoutePriority

 RoutePriority

列舉可能的路徑優先順序,以利系統為路徑設定優先順序。

SystemFeatureType

 SystemFeatureType
屬性
kSystemFeatureTypeBorderRoutingEnabled

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

kSystemFeatureTypeCellularConnected

系統的行動網路介面為 IS | 未連接。

kSystemFeatureTypeIsFabricMember

系統的 Weave 模組 IS |「不是」織布的一部分。

kSystemFeatureTypeMax

請勿超過這個限制;保留以標示可用的位元數上限。

kSystemFeatureTypeThreadConnected

系統的執行緒介面為 | 未連線。

kSystemFeatureTypeThreadRoutingEnabled

系統的執行緒轉送功能為 | 未啟用。

kSystemFeatureTypeTunnelInterfaceEnabled

系統的通道介面為 | 並未啟用。

kSystemFeatureTypeTunnelState

系統的通道服務為 | 未設立。

kSystemFeatureTypeWiFiConnected

系統的 Wi-Fi 介面 | 未連線。

Typedefs

ActionFunction

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

FlagsType

uint16_t FlagsType

Variables

kGlobalULAPrefixLength

const uint8_t kGlobalULAPrefixLength = 48

kLegacy6LoWPANULAAddressPrefixLength

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

kThreadULAAddressPrefixLength

const uint8_t kThreadULAAddressPrefixLength = 64

kTunnelAddressPrefixLength

const uint8_t kTunnelAddressPrefixLength = 128

kWiFiULAAddressPrefixLength

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

sState

ModuleState sState

函式

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

我們呼叫了 WARM API,用於公告邊界路由器功能的狀態變更。

詳細說明
參數
[in] inState
如果「邊界路由器」功能已啟動,則使用 kInterfaceStateUp,否則就會設為 kInterfaceStateDown。

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

我們呼叫的 WARM API 可公告行動網路介面的狀態變更。

詳細說明
參數
[in] inState
如果 Cellular 介面已啟用,則使用 kInterfaceStateUp,否則就會設為 kInterfaceStateDown。

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

呼叫此函式,用於公告 Weave Fabric 功能的狀態變更。

詳細說明
參數
[in] inState
如果系統屬於 Weave 布料的成員,則值為 kInterfaceStateUp,否則為 kInterfaceStateDown。

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

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

詳細說明
參數
[in] inAction
要查詢的動作類型。
傳回
如果動作為「Set」,則為「true」,否則傳回「false」。

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

這個 WARM API 可取得在 Init 期間提供給 Warm 的 FabricState 物件。

詳細說明
參數
[out] outFabricState
指向 FallState 物件的指標參照。
傳回值
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_INCORRECT_STATE
如果在 WARM 初始化前呼叫這個 API,

GetSystemFeatureState

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

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

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

GetULA

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

WARM API,取得指定介面類型的 ULA。

詳細說明
參數
[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,否則錯誤代碼。

InvokeActions

void InvokeActions(
  void
)

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

這代表要執行必要操作的進入點,符合目前系統狀態。舉例來說,如果 Thread 堆疊從已停用轉為啟用狀態,這個函式就會發出必要的平台呼叫,以指派執行緒主機位址等。只有在回應 RequestInvokeActions 的 Warm 呼叫時,平台程式碼才會呼叫此函式。呼叫 InvokeActions 會導致一或多個對 nl::Warm::Platform API 的呼叫。因此,開發人員應正確導入 RequestInvokeActions 和 InvokeActions() 的呼叫端,舉例來說,RequestInvokeActions 可能更適合在工作中發布事件,例如呼叫 InvokeActions()。反之,如果系統是單一執行緒,則可以實作 RequestInvokeActions,以便直接呼叫 InvokeActions()

LegacyHostAddressAction

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

其中一種動作方法。

設定舊介面的主機位址。

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::HostAddress() 轉送結果。

LegacyThreadAddressAction

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

其中一種動作方法。

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

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[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
)

從 GlobalID 建構 48 位元前置字串的公用程式。

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

MapAvailabilityToPriority

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

這個靜態函式會傳回 TunnelAvailability 與 RoutePriority 的對應關係。

詳細說明
參數
[in] inAvailability
Weave 通道可用性模式。
傳回
優先順序對應的值。

RecordPlatformResult

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

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

這個模組會透過平台專屬 API 發出動作要求。必須使用 API 回報動作要求的 kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress 結果。此函式會記錄該結果,並在結果仍在執行時傳回 true,且其他動作應延遲執行。

詳細說明
參數
[in] inResult
平台 API 結果。
[in] inAction
平台 API 嘗試的動作。
[in] inActionState
如果結果成功,動作的新狀態。
傳回
是,平台 API 會以非同步方式處理要求,否則傳回 false。

ReportActionComplete

void ReportActionComplete(
  PlatformResult inResult
)

會呼叫 WARM API,以宣告先前非同步平台 API 呼叫的完成。

假設平台動作 API 可能需要執行非同步作業。如果為 true,平台 API 就會傳回 kPlatformResultInProgress。在此情況下,新的「地址」和「轉送動作」會暫停,直到系統呼叫 ReportActionComplete 以公告作業完成為止。

詳細說明
參數
[in] inResult
待處理動作的結果。必須是其中之一:{kPlatformResultSuccess | kPlatformResultFailure}

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

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

詳細說明
參數
[in] inAction
要變更的動作類型。
[in] inValue
要採用的新狀態值。

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

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

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

ShouldPerformAction

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

一種靜態函式,用來決定是否應執行指定動作。

這個函式會檢查「系統功能狀態」標記的條件,判斷應啟用或停用指定動作。接著,函式會檢查動作目前的狀態,如果動作並未設為「系統功能狀態」所需值,則函式會在 outActivate 中傳回 True,以及所需的動作狀態。

詳細說明
參數
[in] inAction
要查詢的動作。
[in] inNecessarySystemFeatureState
動作啟用所需的狀態標記。
[out] outActivate
所需動作的所需狀態。
傳回
如果動作目前未處於所需狀態,則傳回 true,否則傳回 false。

SystemFeatureStateChangeHandler

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

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

EventStateChange API 會呼叫此方法,以執行必要的回應作業。

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

TakeActions

void TakeActions(
  void
)

這個靜態函式可測試每個動作的狀態,並發出平台 API 呼叫,以變更動作狀態。

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

ThreadAdvertisementAction

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

其中一種動作方法。

設定 Thread 通告狀態

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
轉送來自 Platform::ThreadAdment() 的結果。

ThreadHostAddressAction

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

其中一種動作方法。

設定 Thread 介面的主機位址。

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::HostAddress() 轉送結果。

ThreadHostRouteAction

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

其中一種動作方法。

設定 Thread 介面的主機路徑。

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::HostRoute() 轉送結果。

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

我們呼叫了 WARM API,用於公告 Thread 介面的狀態變更。

詳細說明
參數
[in] inState
如果 Thread 介面已啟動,則為 kInterfaceStateUp,否則為 kInterfaceStateDown。

ThreadRoutePriorityAction

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

其中一種動作方法。

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

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::ThreadRoutePriority() 轉送結果。

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

WARM API,用於公告執行緒轉送功能的狀態變更。

詳細說明
參數
[in] inState
如果 Thread 轉送功能已啟用,kInterfaceStateUp 則使用 kInterfaceStateDown。

ThreadThreadAddressAction

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

其中一種動作方法。

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

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::ThreadAddress() 轉送結果。

ThreadThreadRouteAction

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

其中一種動作方法。

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

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::ThreadRoute() 轉送結果。

TunnelHostAddressAction

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

其中一種動作方法。

設定通道介面的 HostAddress。

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::HostAddress() 轉送結果。

TunnelHostRouteAction

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

其中一種動作方法。

設定通道介面的 HostRoute。

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::HostRoute() 轉送結果。

TunnelInterfaceStateChange

void TunnelInterfaceStateChange(
  InterfaceState inState
)

我們呼叫的 WARM API 可公告 Weave Tunnel 介面的狀態變更。

詳細說明
參數
[in] inState
如果 Weave Tunnel 介面已啟動,則為 kInterfaceStateUp,否則就會設為 kInterfaceStateDown。

TunnelPriorityStateChange

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

會呼叫 WARM API,以更新通道服務的優先順序。

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

TunnelServiceStateChange

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

我們呼叫的 WARM API 可公告 Weave Tunnel 介面的狀態變更。

詳細說明
參數
[in] inState
如果已建立 Weave Tunnel 服務,則使用 kInterfaceStateUp,否則就會設為 kInterfaceStateDown。
[in] inAvailability
之後用來設定通道的可用性狀態。

WiFiHostAddressAction

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

其中一種動作方法。

設定 Wi-Fi 介面的主機位址。

詳細說明
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == 啟用,false == 停用。
[in] inGlobalId
Weave 全域 ID 參照 (如果需要計算地址)。
[in] inInterfaceId
裝置介面 ID (如有必要來計算地址) 的參照。
傳回
從 Platform::HostAddress() 轉送結果。

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

我們呼叫的 WARM API 可公告 Wi-Fi 介面的狀態變更。

詳細說明
參數
[in] inState
如果 Wi-Fi 介面已啟動,則為 kInterfaceStateUp,否則為 kInterfaceStateDown。