nl::Weave::Warm

此命名空间包含 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)
用于获取在 Init 期间提供给 Warm 的 FabricState 对象的 WARM API。
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 操作调用的结果。
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 来公布线程路由功能的状态更改。
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

这是 WalCore 的一个内部类。

结构体

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

命名空间

nl::Weave::Warm::Platform

枚举

ActionType

 ActionType
属性
kActionTypeHostRouteThread

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

kActionTypeLegacy6LoWPANHostAddress

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

kActionTypeLegacy6LoWPANThreadAddress

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

kActionTypeMax

请勿超过;以标记最大可用位。

kActionTypeThreadAdvertisement

开始 |停止由 Thread 模块进行的路由通告。

kActionTypeThreadHostAddress

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

kActionTypeThreadRoute

添加 |移除了 Thread 模块上的 IP 路由,以实现边界路线支持。

kActionTypeThreadRoutePriority

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

kActionTypeThreadThreadAddress

添加 |移除 Thread 模块的 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

Thread 接口。

kInterfaceTypeTunnel

Tunnel 界面。

kInterfaceTypeWiFi

Wi-Fi 接口。

PlatformActionExecution

 PlatformActionExecution
属性
kPlatformActionExecutionContinue

继续执行操作。

kPlatformActionExecutionSuspendForAsynchOpCompletion

挂起操作执行,以完成异步操作。

PlatformResult

 PlatformResult

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

属性
kPlatformResultFailure

API 执行失败。

kPlatformResultInProgress

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

kPlatformResultSuccess

API 已成功完成。

RoutePriority

 RoutePriority

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

SystemFeatureType

 SystemFeatureType
属性
kSystemFeatureTypeBorderRoutingEnabled

系统的边界路线功能是 |IS NOT 启用。

kSystemFeatureTypeCellularConnected

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

kSystemFeatureTypeIsFabricMember

系统的 Weave 模块 IS |不是结构物的成员。

kSystemFeatureTypeMax

请勿超过;保留以标记最大可用位。

kSystemFeatureTypeThreadConnected

系统的线程接口是 |未连接。

kSystemFeatureTypeThreadRoutingEnabled

系统的线程路由功能是 |IS NOT 启用。

kSystemFeatureTypeTunnelInterfaceEnabled

系统的隧道接口 IS |IS NOT 启用。

kSystemFeatureTypeTunnelState

系统的隧道服务 IS |未建立。

kSystemFeatureTypeWiFiConnected

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

类型定义符

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
如果启用边界路由器功能,则为 kInterfaceStateUp,否则为 kInterfaceStateDown。

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

调用 WARM API 来公布移动网络接口的状态更改。

详细信息
参数
[in] inState
如果移动网络接口已启动,则为 kInterfaceStateUp,否则为 kInterfaceStateDown。

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

调用的函数,用于公布 Weave Fabric 功能的状态变化。

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

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

一个静态函数,用于返回指定操作的当前状态。

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

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

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

详细信息
参数
[out] outFabricState
对 fabricState 对象的指针引用。
返回值
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 调用。调用 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
)

其中一个 Action 方法。

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

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
期望的状态为 true = 启用,false = 停用。
[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 = 启用,false = 停用。
[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
)

用于根据 globalID 构造 48 位前缀的实用程序。

详细信息
参数
[in] inGlobalID
对 Weave Global 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 和 Routing Actions 将会暂停,直到系统调用 ReportActionComplete 来通告操作已完成。

详细信息
参数
[in] inResult
待处理操作的结果。必须为以下项之一:{kPlatformResultSuccess |kPlatformResultFailure}

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

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

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

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

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

详细信息
参数
[in] inSystemFeature
要设置的 SystemFeature。
[in] inValue
要采用的新 State 值。
返回值
如果系统功能发生了更改,则为 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 = 启用,false = 停用。
[in] inGlobalId
在需要计算地址时,需要引用 Weave Global 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 = 启用,false = 停用。
[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 = 启用,false = 停用。
[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 = 启用,false = 停用。
[in] inGlobalId
在需要计算地址时,需要引用 Weave Global ID。
[in] inInterfaceId
在需要计算地址时引用设备的接口 ID。
返回值
转发 Platform::ThreadRoutePriority() 的结果。

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

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

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

ThreadThreadAddressAction

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

其中一个 Action 方法。

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

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
期望的状态为 true = 启用,false = 停用。
[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 = 启用,false = 停用。
[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 = 启用,false = 停用。
[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 方法。

设置隧道接口的 HostRoute。

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
期望的状态为 true = 启用,false = 停用。
[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 服务,则为 kInterfaceStateUp,否则为 kInterfaceStateDown。
[in] inAvailability
稍后配置隧道时使用的可用性状态。

WiFiHostAddressAction

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

其中一个 Action 方法。

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

详细信息
参数
[in] inAction
操作类型。
[in] inActivate
期望的状态为 true = 启用,false = 停用。
[in] inGlobalId
在需要计算地址时,需要引用 Weave Global ID。
[in] inInterfaceId
在需要计算地址时引用设备的接口 ID。
返回值
转发来自 Platform::HostAddress() 的结果。

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

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

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