nl::Weave::Warm

這個命名空間包含 Weave Address 和 Route Module 的介面,這是一種可攜式模組,可用來設定 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

變數

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,用來宣布 Cellular 介面的狀態變更。
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)
用於取得指定介面類型的 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)
其中一種 Action 方法。
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
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)
其中一種 Action 方法。
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
ThreadInterfaceStateChange(InterfaceState inState)
void
呼叫 WARM API,用來宣布 Thread 介面的狀態變更。
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
ThreadRoutingStateChange(InterfaceState inState)
void
呼叫 WARM API,用來宣布 Thread 轉送功能的狀態變更。
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
其中一種 Action 方法。
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)
其中一種 Action 方法。
WiFiInterfaceStateChange(InterfaceState inState)
void
呼叫 WARM API,用來宣布 Wi-Fi 介面的狀態變更。

類別

nl::Weave::Warm::WarmFabricStateDelegate

這是 HeatCore 的內部類別。

Structs

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 堆疊的舊版 6LowPAN 介面上,移除 IP 位址。

kActionTypeMax

請勿超過;來標記可用位元上限。

kActionTypeThreadAdvertisement

開始 |透過執行緒模組停止路徑通告。

kActionTypeThreadHostAddress

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

kActionTypeThreadRoute

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

kActionTypeThreadRoutePriority

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

kActionTypeThreadThreadAddress

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

kActionTypeTunnelHostAddress

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

kActionTypeTunnelHostRoute

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

kActionTypeTunnelServiceRoute

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

kActionTypeWiFiHostAddress

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

InitState

 InitState
屬性
kInitStateNotInitialized

此值必須為 0,這樣 mInitState 的初始值才會為 kInitStateNotInitialized。

InterfaceState

 InterfaceState

可能的介面狀態值列舉。

InterfaceType

 InterfaceType

可能的介面類型的列舉。

,瞭解如何調查及移除這項存取權。

屬性
kInterfaceTypeCellular

「行動網路」介面。

kInterfaceTypeLegacy6LoWPAN

Thread 鬧鐘介面。

kInterfaceTypeThread

執行緒介面。

kInterfaceTypeTunnel

通道介面。

kInterfaceTypeWiFi

Wi-Fi 介面。

PlatformActionExecution

 PlatformActionExecution
屬性
kPlatformActionExecutionContinue

繼續執行動作。

kPlatformActionExecutionSuspendForAsynchOpCompletion

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

PlatformResult

 PlatformResult

列舉的平台 API 傳回值。

屬性
kPlatformResultFailure

API 執行失敗。

kPlatformResultInProgress

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

kPlatformResultSuccess

API 已順利完成。

RoutePriority

 RoutePriority

列舉可能的路徑優先順序,用於指出某條路徑的優先順序。

SystemFeatureType

 SystemFeatureType
屬性
kSystemFeatureTypeBorderRoutingEnabled

系統的邊界路由功能 IS |「未啟用」。

kSystemFeatureTypeCellularConnected

系統的行動網路介面 |未連線。

kSystemFeatureTypeIsFabricMember

系統的 Weave 模組 IS |「不得」是布料的成員。

kSystemFeatureTypeMax

請勿超過;來標記可用位元上限。

kSystemFeatureTypeThreadConnected

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

kSystemFeatureTypeThreadRoutingEnabled

系統的執行緒轉送功能 IS |「未啟用」。

kSystemFeatureTypeTunnelInterfaceEnabled

系統隧道介面 IS |「未啟用」。

kSystemFeatureTypeTunnelState

系統的隧道服務 IS |「未」建立。

kSystemFeatureTypeWiFiConnected

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

Typedefs

ActionFunction

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

FlagsType

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

kWiFiULAAddressPrefixLength

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

sState

ModuleState sState

函式

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

呼叫 WARM API,即可宣布邊界路由器功能的狀態變更。

詳細資料
參數
[in] inState
如果 Border 路由器功能處於啟用狀態,則 kInterfaceStateUp,否則為 kInterfaceStateDown。

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

呼叫 WARM API,用來宣布 Cellular 介面的狀態變更。

詳細資料
參數
[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
指向布料狀態物件的指標參照。
傳回值
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
)

用於取得指定介面類型的 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,否則會傳回錯誤代碼。

InvokeActions

void InvokeActions(
  void
)

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

這代表執行必要動作的進入點,這些動作將符合目前系統狀態。舉例來說,如果 Thread 堆疊從已停用轉換為啟用,這個函式就會發出必要的平台呼叫,以指派執行緒主機位址等。只有在回應 RequestInvokeActions 的 Warm 呼叫時,平台程式碼才需要呼叫這個函式。呼叫 InvokeAction 會導致一或多個對 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
)

其中一種 Action 方法。

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

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
從 Platform::HostAddress() 轉送結果。

LegacyThreadAddressAction

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

其中一種 Action 方法。

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

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global 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 通道可用性模式。
傳回
優先順序對應值。

RecordPlatformResult

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

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

此模組會透過平台專屬 API 發出要求以執行動作。必須使用這個 API,才能回報該動作要求的 kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress 結果。這個函式會記錄這項結果,如果結果仍在進行中,就會傳回 true,而後續動作應會延遲。

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

ReportActionComplete

void ReportActionComplete(
  PlatformResult inResult
)

呼叫 WARM API,用來宣布已完成前一個非同步平台 API 呼叫。

假設平台動作 API 可能需要執行非同步作業。如果這個值為 true,平台 API 就會傳回 kPlatformResultInProgress。發生這種情況時,系統會暫停新的 Address 和轉送動作,直到系統呼叫 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
)

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

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

詳細資料
參數
[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
)

其中一種 Action 方法。

設定執行緒通告狀態

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
轉送 Platform::Thread 視需求() 的結果。

ThreadHostAddressAction

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

其中一種 Action 方法。

設定 Thread 介面的主機位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
從 Platform::HostAddress() 轉送結果。

ThreadHostRouteAction

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

其中一種 Action 方法。

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

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global 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
)

其中一種 Action 方法。

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

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
轉送 Platform::ThreadRoutePriority() 的結果。

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

呼叫 WARM API,用來宣布 Thread 轉送功能的狀態變更。

詳細資料
參數
[in] inState
如果執行緒轉送功能已啟用,則為 kInterfaceStateUp,否則是 kInterfaceStateDown。

ThreadThreadAddressAction

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

其中一種 Action 方法。

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

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
轉送 Platform::ThreadAddress() 的結果。

ThreadThreadRouteAction

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

其中一種 Action 方法。

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

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
轉送 Platform::ThreadRoute() 的結果。

TunnelHostAddressAction

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

其中一種 Action 方法。

設定通道介面的 HostAddress。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
從 Platform::HostAddress() 轉送結果。

TunnelHostRouteAction

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

其中一種 Action 方法。

設定通道介面的主機路徑。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global 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 Service 已建立,則 kInterfaceStateUp,否則為 kInterfaceStateDown。
[in] inAvailability
稍後設定通道時要使用的可用性狀態。

WiFiHostAddressAction

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

其中一種 Action 方法。

設定 WiFi 介面的主機位址。

詳細資料
參數
[in] inAction
動作類型。
[in] inActivate
所需狀態 true == activate,false == deactivate。
[in] inGlobalId
此為 Weave Global ID 的參照 (如果需要計算地址)。
[in] inInterfaceId
裝置的介面 ID 參照 (在需要計算地址時需要)。
傳回
從 Platform::HostAddress() 轉送結果。

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

呼叫 WARM API,用來宣布 Wi-Fi 介面的狀態變更。

詳細資料
參數
[in] inState
kInterfaceStateUp 表示 Wi-Fi 介面處於開啟狀態,否則是 kInterfaceStateDown。