NL::编织::简介:: DataManagement_Legacy::捆绑
#include <src/lib/profiles/data-management/Legacy/Binding.h>
该绑定类管理代表用纺织品的应用实体的通信状态。
概括
当应用程序想要使用 Weave 与远程实体进行通信时,存在多种选择。该绑定的简单的东西是容易的,更困难的东西至少是听话的类畜栏这些选项并安排他们以这样的方式。涵盖的选项包括:
- 与已知对等节点的单播 UDP 通信。
- UDP 广播与“任何”节点。
- 与已知对等节点的单播 WRMP 通信。
- 与已知对等节点的 TCP 通信。
- 使用服务管理器实例与已知服务端点进行 TCP 通信以进行设置。
- 基于预先建立的连接的 TCP 通信。
构造函数和析构函数 | |
---|---|
Binding (void) 默认构造函数用于绑定的对象。 | |
~Binding (void) 析构函数用于绑定的对象。 |
公共类型 | |
---|---|
@165 { | 枚举 该组绑定的对象状态。 |
公共属性 | |
---|---|
mAuthMode | WeaveAuthMode 要使用的 Weave 身份验证模式。 |
mConnection | 指向当前在此绑定中使用的 Weave 连接的指针。 |
mEngine | 的指针ProtocolEngine与此相关的绑定。 |
mPeerNodeId | uint64_t 绑定目标的 64 位节点 ID。 |
mServiceMgr | 指向用于完成此绑定的(可选)ServiceManager 对象的指针。 |
mState | uint8_t 当前绑定的对象状态。 |
mTransport | uint8_t 运输在完成此使用绑定。 |
公共职能 | |
---|---|
CompleteConfirm ( WeaveConnection *aConnection) | void 处理绑定请求的确认。 |
CompleteConfirm ( StatusReport & aReport) | void 处理绑定请求的失败。 |
CompleteConfirm (void) | void 处理绑定请求的确认。 |
CompleteRequest ( ProtocolEngine *aEngine) | 请求完成绑定。 |
Connect ( WeaveConnection *aConnection) | 通过提供完整的连接来完成 TCP 绑定。 |
Finalize (void) | void “未完成”绑定并释放它。 |
Finalize ( WEAVE_ERROR aErr) | void “未完成”绑定并释放它。 |
Free (void) | void 清除绑定状态。 |
GetExchangeCtx ( WeaveExchangeManager *aExchangeMgr, void *aAppState) | 产生ExchangeContext从一个对象绑定。 |
IncompleteIndication ( StatusReport & aReport) | void 处理绑定失败。 |
Init (const uint64_t & aPeerNodeId) | 初始化绑定只是一个节点ID。 |
Init (const uint64_t & aPeerNodeId, uint8_t aTransport) | 初始化一个绑定基于对等体ID和传输对象。 |
Init (const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode) | 初始化一个绑定对象的服务端点。 |
Init ( WeaveConnection *aConnection) | 初始化绑定一个对象WeaveConnection 。 |
IsComplete (void) | bool 检查绑定是否完成。 |
IsFree (void) | bool 检查是绑定是免费的。 |
UncompleteRequest (void) | void 导致绑定不完整。 |
UncompleteRequest ( WEAVE_ERROR aErr) | void 导致绑定不完整。 |
公共类型
@165
@165
公共属性
授权模式
WeaveAuthMode mAuthMode
要使用的 Weave 身份验证模式。
(只读)
这是在此绑定管理的所有通信中使用的身份验证模式。
引擎
ProtocolEngine * mEngine
的指针ProtocolEngine与此相关的绑定。
绑定一般是针对特定的协议引擎完成的,它主要用作访问 MessageLayer 的一种方式。这是我们跟踪它的地方。
移动服务管理器
nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager * mServiceMgr
指向用于完成此绑定的(可选)ServiceManager 对象的指针。
(只读)
绑定到 Weave 服务时,可以在初始化时提供 64 位服务端点 ID 代替 Weave 节点 ID。在这种情况下,还需要一个 ServiceManager 对象来完成绑定。普通 TCP 或 WRMP 绑定不需要 ServiceManager 对象。
公共职能
完成确认
void CompleteConfirm( WeaveConnection *aConnection )
处理绑定请求的确认。
细节 | |||
---|---|---|---|
参数 |
|
完成确认
void CompleteConfirm( StatusReport & aReport )
处理绑定请求的失败。
细节 | |||
---|---|---|---|
参数 |
|
完成确认
void CompleteConfirm( void )
处理绑定请求的确认。
完成请求
WEAVE_ERROR CompleteRequest( ProtocolEngine *aEngine )
请求完成绑定。
结合完成后,至少为需要TCP绑定,相对于进行了特定ProtocolEngine对象,它提供访问一个ExchangeManager实例。
细节 | |||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
返回值 |
| ||||||
退货 | 否则,任何WEAVE_ERROR尝试连接返回。 |
连接
WEAVE_ERROR Connect( WeaveConnection *aConnection )
通过提供完整的连接来完成 TCP 绑定。
新初始化的 TCP 绑定在完成之前不能使用。通常这是在应用程序尝试使用绑定发送消息时按需完成的,但也可以通过提供 Weave 连接来明确完成。
细节 | |||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
返回值 |
|
敲定
void Finalize( void )
“未完成”绑定并释放它。
绑定可能具有需要清理,例如连接闭合,其由Uncomplete()方法在除了简单地由清除到其初始状态的状态处理状态免费()方法。这种方法主要是为了方便起见,同时调用了两者。
也可以看看:完成(WEAVE_ERROR)
敲定
void Finalize( WEAVE_ERROR aErr )
自由
void Free( void )
清除绑定状态。
无条件地将所有绑定状态返回到其原始状态。
GetExchangeCtx
ExchangeContext * GetExchangeCtx( WeaveExchangeManager *aExchangeMgr, void *aAppState )
产生ExchangeContext从一个对象绑定。
细节 | |||||
---|---|---|---|---|---|
参数 |
| ||||
退货 | 的指针ExchangeContext对象,或NULL上失败。 |
指示不全
void IncompleteIndication( StatusReport & aReport )
处理绑定失败。
这个方法被调用,并且反过来调用较高层处理程序时,所述结合失败结束后,即在CompleteConfirm()被调用,并显示状态表示成功。
细节 | |||
---|---|---|---|
参数 |
|
CompleteConfirm(StatusReport&880) 。
在里面
WEAVE_ERROR Init( const uint64_t & aPeerNodeId )
初始化绑定只是一个节点ID。
这会导致与配置的默认传输绑定。
细节 | |||||
---|---|---|---|---|---|
参数 |
| ||||
返回值 |
|
在里面
WEAVE_ERROR Init( const uint64_t & aPeerNodeId, uint8_t aTransport )
初始化一个绑定基于对等体ID和传输对象。
细节 | |||||
---|---|---|---|---|---|
参数 |
| ||||
返回值 |
|
在里面
WEAVE_ERROR Init( const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
初始化一个绑定对象的服务端点。
这就是绑定到 Nest 服务上特定端点的方式。此类绑定需要多阶段完成过程,其中可能包括填充或更新本地服务目录缓存。在大多数情况下,这个过程对应用程序是隐藏的,但这意味着在过程中后期出现的错误可能会被传递,通常通过相关的“确认”回调,在 - 有时很长时间之后 - 原始使用请求(和完成)绑定。
细节 | |||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
返回值 |
|
在里面
WEAVE_ERROR Init( WeaveConnection *aConnection )
初始化绑定一个对象WeaveConnection 。
细节 | |||||
---|---|---|---|---|---|
参数 |
| ||||
返回值 |
|
已经完成
bool IsComplete( void )
免费
bool IsFree( void )
检查是绑定是免费的。
“免费”在此上下文中仅表示“具有已定义的对等节点 ID”。 IsFree()应该被认为是意“已免费()调用了它,一直没有被使用”。
细节 | |
---|---|
退货 | 如果绑定是免费的,则为 true,否则为 false。 |
未完成的请求
void UncompleteRequest( void )
导致绑定不完整。
从根本上说,绑定应该在调用此方法后处于“不完整”状态,但更巧妙的是,绑定本身不包含的任何相关状态,例如 TCP 连接,也应该被清除。应用程序可以考虑引用UncompleteRequest()作为错误清理的一部分。
也可以看看:未完成请求(WEAVE_ERROR)
未完成的请求
void UncompleteRequest( WEAVE_ERROR aErr )
导致绑定不完整。
从根本上说,绑定应该在调用此方法后处于“不完整”状态,但更微妙的是,绑定本身不包含的任何相关状态,例如 TCP 连接,也应该清除。应用程序可以考虑引用UncompleteRequest()作为错误清理的一部分。
细节 | |||
---|---|---|---|
参数 |
|
未完成请求(无效)