nl::Weave::Warm

此命名空间包含 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 操作调用结果的静态函数。
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

这是 FloodlightCore 的内部类。

结构体

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

命名空间

nl::Weave::Warm::Platform

枚举

ActionType

 ActionType
属性
kActionTypeHostRouteThread

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

kActionTypeLegacy6LoWPANHostAddress

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

kActionTypeLegacy6LoWPANThreadAddress

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

kActionTypeMax

DO NOT EXCEED;保留用于标记最大可用位。

kActionTypeThreadAdvertisement

Start | 停止由 Thread 模块发布的路由通告。

kActionTypeThreadHostAddress

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

kActionTypeThreadRoute

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

kActionTypeThreadRoutePriority

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

kActionTypeThreadThreadAddress

Add | 移除 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

线程接口。

kInterfaceTypeTunnel

Tunnel 界面。

kInterfaceTypeWiFi

Wi-Fi 接口。

PlatformActionExecution

 PlatformActionExecution
属性
kPlatformActionExecutionContinue

继续执行。

kPlatformActionExecutionSuspendForAsynchOpCompletion

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

PlatformResult

 PlatformResult

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

属性
kPlatformResultFailure

API 执行失败。

kPlatformResultInProgress

操作正在进行中,将以异步方式完成。

kPlatformResultSuccess

API 已成功完成。

RoutePriority

 RoutePriority

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

SystemFeatureType

 SystemFeatureType
属性
kSystemFeatureTypeBorderRoutingEnabled

系统的边界路由功能是 | 未启用。

kSystemFeatureTypeCellularConnected

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

kSystemFeatureTypeIsFabricMember

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

kSystemFeatureTypeMax

DO NOT EXCEED;保留用于标记最大可用位。

kSystemFeatureTypeThreadConnected

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

kSystemFeatureTypeThreadRoutingEnabled

系统的线程路由功能是否处于启用状态。

kSystemFeatureTypeTunnelInterfaceEnabled

系统的隧道界面“IS | IS”未启用。

kSystemFeatureTypeTunnelState

未建立系统的隧道服务。

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
如果 Border 路由器功能已启用,则为 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
要查询的操作类型。
返回值
如果操作为 Set,则返回 true,否则返回 false。

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

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

具体说明
参数
[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 操作。

这表示要执行可满足当前系统状态的必要操作的入口点。例如,如果线程堆栈从“已停用”变为“已启用”,则此函数将进行必要的平台调用以分配线程主机地址等。平台代码应仅在响应对 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
期望的 State true == activate,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
)

一种 Action 方法。

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

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,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
操作的新状态(如果结果成功)。
返回值
true,表示平台 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
)

用于确定是否应执行指定操作的静态函数。

此函数会检查系统功能状态标记的情况,并确定应启用还是停用指定的操作。然后,该函数会检查操作的当前状态,如果操作未设置为系统功能的 State 所需的值,则该函数会在 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
)

一种 Action 方法。

设置线程通告状态

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,false == 失败。
[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
期望的 State true == activate,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
)

一种 Action 方法。

设置线程接口的主机路由。

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,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
)

一种 Action 方法。

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

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,false == 失败。
[in] inGlobalId
在计算地址时需要对 Weave 全局 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
期望的 State true == activate,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
)

一种 Action 方法。

设置线程堆栈的线程路由。

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,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
)

一种 Action 方法。

设置隧道接口的 HostAddress。

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,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
)

一种 Action 方法。

为隧道接口设置 HostRoute。

具体说明
参数
[in] inAction
操作类型。
[in] inActivate
期望的 State true == activate,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 Service,则为 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
期望的 State true == activate,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。