nl:: Weave:: 暖色调

此命名空间包含 Weave 地址和路由模块的接口,Weave 地址和路由模块的便携式模块,用于配置 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)
}
枚举

类型定义符

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
调用该函数来声明 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
用于根据 globalID 构建 48 位前缀的实用程序。
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
一个静态函数,用于返回从 TunnelAvailability 到 RoutePriority 的映射。
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
用于记录平台 API Action 调用结果的静态函数。
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 来公布线程接口的状态更改。
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
一种 Action 方法。
ThreadRoutingStateChange(InterfaceState inState)
void
调用 WARM API 以公布线程路由功能的状态变更。
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

这是 WaterCore 的内部类。

结构体

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

命名空间

nl::Weave::Warm::平台

枚举

操作类型

 ActionType
属性
kActionTypeHostRouteThread

添加 | 移除主机 IP 堆栈上线程接口的 IP 路由。

kActionTypeLegacy6LoWPANHostAddress

添加 | 移除主机 IP 堆栈上旧版 6LowPAN 接口的 IP 地址。

kActionTypeLegacy6LoWPANThreadAddress

添加 | 移除线程模块 IP 堆栈上旧版 6LowPAN 接口的 IP 地址。

kActionTypeMax

请勿超出;已预留用于标记最大可用位数。

kActionTypeThreadAdvertisement

开始 | 停止线程模块中的路由通告。

kActionTypeThreadHostAddress

添加 | 移除主机 IP 堆栈上线程接口的 IP 地址。

kActionTypeThreadRoute

添加 | 移除线程模块的 IP 路由以支持边界路由支持。

kActionTypeThreadRoutePriority

更改线程模块中线程路由的路由优先级。

kActionTypeThreadThreadAddress

添加 | 移除线程模块 IP 堆栈上线程接口的 IP 地址。

kActionTypeTunnelHostAddress

添加 | 移除主机 IP 堆栈上隧道接口的 IP 地址。

kActionTypeTunnelHostRoute

添加 | 移除主机 IP 堆栈上隧道接口的 IP 路由。

kActionTypeTunnelServiceRoute

添加 | 移除主机 IP 堆栈上服务子网的 64 位 IP 路由。

kActionTypeWiFiHostAddress

添加 | 移除主机 IP 堆栈上 Wi-Fi 接口的 IP 地址。

InitState

 InitState
属性
kInitStateNotInitialized

此值必须为 0,以便 mInitState' 的初始值为 kInitStateNotInitialized。

InterfaceState

 InterfaceState

可能的接口状态值的枚举。

InterfaceType

 InterfaceType

可能的接口类型的枚举。

属性
kInterfaceTypeCellular

移动网络接口。

kInterfaceTypeLegacy6LoWPAN

线程警报接口。

kInterfaceTypeThread

线程接口。

kInterfaceTypeTunnel

隧道接口。

kInterfaceTypeWiFi

Wi-Fi 接口。

平台操作执行

 PlatformActionExecution
属性
kPlatformActionExecutionContinue

继续执行操作。

kPlatformActionExecutionSuspendForAsynchOpCompletion

用于让异步操作完成执行的挂起操作执行。

平台结果

 PlatformResult

可能的平台 API 返回值的枚举。

属性
kPlatformResultFailure

API 执行失败。

kPlatformResultInProgress

操作正在进行中,并将异步完成。

kPlatformResultSuccess

API 已成功完成。

路线优先级

 RoutePriority

一个枚举可能的路由优先级,以使一个路由的优先级高于另一个路由。

系统功能类型

 SystemFeatureType
属性
kSystemFeatureTypeBorderRoutingEnabled

该系统采用边界路由功能 | 未启用。

kSystemFeatureTypeCellularConnected

系统的移动网络接口为 | IS 未连接。

kSystemFeatureTypeIsFabricMember

System 的 Weave 模块是 | 不是结构的成员。

kSystemFeatureTypeMax

请勿超出;已预留用于标记最大可用位数。

kSystemFeatureTypeThreadConnected

系统的线程接口为 | IS 未连接。

kSystemFeatureTypeThreadRoutingEnabled

系统的线程路由功能为 | IS 未启用。

kSystemFeatureTypeTunnelInterfaceEnabled

系统隧道接口为 | IS 未启用。

kSystemFeatureTypeTunnelState

系统隧道服务处于“IS | IS”状态。

kSystemFeatureTypeWiFiConnected

系统的 Wi-Fi 接口为 | 未连接。

类型定义符

操作函数

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

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
如果移动网络接口向上,则 kInterfaceStateUp;否则,kInterfaceStateDown。

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

调用该函数来声明 Weave Fabric 功能的状态变化。

详细信息
参数
[in] inState
kInterfaceStateUp(如果系统是 Weave 结构的成员),否则为 kInterfaceStateDown。

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

返回指定操作当前状态的静态函数。

详细信息
参数
[in] inAction
要查询的操作类型。
返回值
如果操作已设置,则为 true,否则为 false。

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

此 WARM API 用于获取在 Init 期间提供给 Warm 的 FabricState 对象。

详细信息
参数
[out] outFabricState
指向 fabricState 对象的指针。
返回值
WEAVE_NO_ERROR
成功时。
WEAVE_ERROR_INCORRECT_STATE
此 API 在初始化 WARM 之前调用。

GetSystemFeatureState

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

获取系统功能的当前状态的静态函数。

详细信息
参数
[in] inSystemFeature
要查询的系统功能。
返回值
如果启用了系统功能,则为 true;否则为 false。

盖图拉

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

用于获取指定接口类型的 ULA 的 WARM API。

详细信息
参数
[in] inInterfaceType
所需的 ULA 接口类型。
[out] outAddress
用于保存生成的 ULA 的地址对象。
返回值
WEAVE_NO_ERROR
成功时。
WEAVE_ERROR_INCORRECT_STATE
如果调用此 API 时 WARM 不是 Fabric 的成员。
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 操作。

用于表示执行必要操作(将符合当前系统状态)的入口点。例如,如果线程堆栈从已停用状态转换为已启用状态,则此函数会进行必要的平台调用以分配线程主机地址等。此函数应仅由平台代码调用,以响应对 RequestInvokeActions 的 Warm 调用。调用 InvokeActions 将会导致对 nl::Warm::Platform API 的一次或多次调用。因此,开发者应正确实现 RequestInvokeActions 和 InvokeActions() 的调用方。例如,RequestInvokeActions 可能适合将任务发布到任务(例如调用 InvokeActions() 的任务)。相反,如果系统是单线程的,则可以实现 RequestInvokeActions 来直接调用 InvokeActions()

旧版 HostAddressAction

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

一种 Action 方法。

设置旧版接口的主机地址。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::HostAddress() 的结果。

旧版线程地址操作

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

一种 Action 方法。

设置旧版 6LoWPAN 接口的线程地址。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[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 Action 调用结果的静态函数。

此模块可发出通过平台专用 API 执行操作的请求。需要使用该 API 才能报告该操作请求的 kPlatformResultSuccess|kPlatformResultFailure|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 | kPlatformResultFailure}

设置当前操作状态

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

用于设置指定操作当前状态的静态函数。

详细信息
参数
[in] inAction
要更改的操作类型。
[in] inValue
要采用的新 State 值。

设置系统功能状态

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

用于设置系统功能当前状态的静态函数。

详细信息
参数
[in] inSystemFeature
要设置的 SystemFeature。
[in] inValue
要采用的新 State 值。
返回值
如果系统功能已更改,则为 true,否则为 false。

应执行 Action

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
状态的新值。

采取行动

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 == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::ThreadAdvertisement() 的结果。

ThreadHostAddressAction

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

一种 Action 方法。

设置线程接口的主机地址。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[in] inGlobalId
对 Weave 全局 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 == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::HostRoute() 的结果。

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

调用 WARM API 来公布线程接口的状态更改。

详细信息
参数
[in] inState
kInterfaceStateUp(如果 Thread 接口已启动),否则 kInterfaceStateDown。

ThreadRoutePriorityAction

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

一种 Action 方法。

根据隧道可用性设置线程路由优先级。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::ThreadRoutePriority() 的结果。

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

调用 WARM API 以公布线程路由功能的状态变更。

详细信息
参数
[in] inState
如果线程路由功能已启动,则 kInterfaceStateUp;否则,kInterfaceStateDown。

线程线程地址操作

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

一种 Action 方法。

设置线程接口的线程地址。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[in] inGlobalId
对 Weave 全局 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 == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::ThreadRoute() 的结果。

隧道地址操作

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

一种 Action 方法。

设置隧道接口的 HostAddress。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::HostAddress() 的结果。

隧道主机路线操作

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

一种 Action 方法。

为隧道接口设置 HostRoute。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[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
隧道可用性状态的新值。

隧道服务状态更改

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

调用 WARM API 来公布 Weave Tunnel 接口的状态变更。

详细信息
参数
[in] inState
如果已建立 Weave Tunnel Service,则使用 kInterfaceStateUp,否则使用 kInterfaceStateDown。
[in] inAvailability
稍后在配置隧道时的可用性状态。

Wi-Fi 主机地址操作

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

一种 Action 方法。

设置 Wi-Fi 接口的主机地址。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
所需状态 true == activate, false == disable。
[in] inGlobalId
对 Weave 全局 ID 的引用(如果这是计算地址的必要条件)。
[in] inInterfaceId
对设备的接口 ID 的引用(如果需要计算地址)。
返回值
转发来自 Platform::HostAddress() 的结果。

Wi-Fi 接口状态更改

void WiFiInterfaceStateChange(
  InterfaceState inState
)

调用 WARM API 以公布 Wi-Fi 接口的状态变更。

详细信息
参数
[in] inState
kInterfaceStateUp(如果 Wi-Fi 接口已启动),否则 kInterfaceStateDown。