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의 A로부터 객체 바인딩을 . |
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) | 초기화 바인딩 A의 객체 WeaveConnection를 . |
IsComplete (void) | bool 바인딩이 완료되었는지 확인하십시오. |
IsFree (void) | bool 바인딩은 무료입니다. |
UncompleteRequest (void) | void 바인딩이 불완전하게 만듭니다. |
UncompleteRequest ( WEAVE_ERROR aErr) | void 바인딩이 불완전하게 만듭니다. |
공개 유형
@ 165
@165
공용 속성
mAuthMode
WeaveAuthMode mAuthMode
사용할 Weave 인증 모드입니다.
(읽기 전용)
이 바인딩이 관리하는 모든 통신에서 사용되는 인증 모드입니다.
mConnection
WeaveConnection * mConnection
이 바인딩에서 현재 사용중인 Weave 연결에 대한 포인터입니다.
(읽기 전용)
TCP 바인딩은 즉시 연결을 사용하여 초기화하거나 완료시 하나를 할당 할 수 있습니다.
mEngine
ProtocolEngine * mEngine
받는 포인터 ProtocolEngine의 이 관련 객체 바인딩 .
바인딩은 일반적으로 MessageLayer에 액세스하는 방법으로 주로 사용되는 특정 프로토콜 엔진과 관련하여 완료됩니다. 이것이 우리가 그것을 추적하는 곳입니다.
mPeerNodeId
uint64_t mPeerNodeId
바인딩 대상의 64 비트 노드 ID입니다.
(읽기 전용)
모든 바인딩은 여기라는 대상 법인을 가지고 있습니다. Weave 노드 ID 외에도 서비스 엔드 포인트의 이름을 지정할 수 있습니다.
mServiceMgr
nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager * mServiceMgr
이 바인딩을 완료하는 데 사용할 (선택 사항) ServiceManager 개체에 대한 포인터입니다.
(읽기 전용)
Weave 서비스에 바인딩 할 때 초기화시 Weave 노드 ID 대신 64 비트 서비스 엔드 포인트 ID를 제공 할 수 있습니다. 이 경우 바인딩을 완료하려면 ServiceManager 개체도 필요합니다. 일반 TCP 또는 WRMP 바인딩에는 ServiceManager 개체가 필요하지 않습니다.
mState
uint8_t mState
현재 바인딩 객체 상태.
한 번에 하나의 "완전한"작업 만 실행할 수 있으며, 어떤 경우에도 완료된 바인딩을 완료하도록 요청하면 즉시 확인 기능을 호출합니다. 아래의 상태 변수는 현재 상태를 추적하고 잠금 역할을합니다.
mTransport
uint8_t mTransport
공공 기능
완료 확인
void CompleteConfirm( WeaveConnection *aConnection )
바인드 요청 확인을 처리합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
완료 확인
void CompleteConfirm( StatusReport & aReport )
바인드 요청 실패를 처리합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
완료 확인
void CompleteConfirm( void )
바인드 요청 확인을 처리합니다.
CompleteRequest
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의 A로부터 객체 바인딩을 .
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
| ||||
보고 | 포인터 ExchangeContext의 실패 개체, 또는 NULL. |
불완전한 표시
void IncompleteIndication( StatusReport & aReport )
바인딩 실패를 처리합니다.
이 방법은 결과적으로, 호출되며, 결합 원용 상위 계층 처리기 후, 즉 종료 후 실패 () CompleteConfirm 상태 나타내는 호출 성공하고있다.
세부 | |||
---|---|---|---|
매개 변수 |
|
CompleteConfirm (StatusReport & aReport) .
초기화
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 )
초기화 바인딩 A의 객체 WeaveConnection를 .
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
| ||||
반환 값 |
|
IsComplete
bool IsComplete( void )
바인딩이 완료되었는지 확인하십시오.
세부 | |
---|---|
보고 | 완료되면 true, 그렇지 않으면 false입니다. |
CompleteRequest (ProtocolEngine * aEngine)
IsFree
bool IsFree( void )
바인딩은 무료입니다.
이 문맥에서 "Free"는 단순히 "정의 된 피어 노드 ID가 있음"을 의미합니다. IsFree는 () 하는 의미로 생각해야한다 "불려왔다 무료 () 및 이후 사용되지 않은".
세부 | |
---|---|
보고 | 바인딩이 무료이면 true, 그렇지 않으면 false입니다. |
미완료 요청
void UncompleteRequest( void )
바인딩이 불완전하게 만듭니다.
기본적으로 바인딩은이 메서드가 호출 된 후 "불완전"상태가되지만, 더 미묘하게는 바인딩 자체에 포함되지 않은 관련 상태 (예 : TCP 연결)도 정리해야합니다. 응용 프로그램 호출 고려할 수 UncompleteRequest을 () 오류에 대한 정리의 일환으로.
또한보십시오:미완료 요청 (WEAVE_ERROR)
미완료 요청
void UncompleteRequest( WEAVE_ERROR aErr )
바인딩이 불완전하게 만듭니다.
기본적으로 바인딩은이 메서드가 호출 된 후 "불완전"상태가되지만, 더 미묘하게는 바인딩 자체에 포함되지 않은 관련 상태 (예 : TCP 연결)도 정리해야합니다. 응용 프로그램 호출 고려할 수 UncompleteRequest을 () 오류에 대한 정리의 일환으로.
세부 | |||
---|---|---|---|
매개 변수 |
|
UncompleteRequest (무효)