nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
애플리케이션별 WDM 클라이언트를 위한 추상 기본 클래스입니다.
요약
DMClient는 표준 WDM 클라이언트입니다. 구현에는 선택적으로 구독/알림이 포함됩니다. 이는 커뮤니케이션 크랭크 턴을 처리하는 DM ProtocolEngine 클래스와 완전히 추상적인 ClientDataManager 클래스를 혼합한 것으로, 상위 계층에서 걱정할 필요가 없도록 일부 구독 관련 메서드가 구현되어 있습니다.
구독 관련 작업의 핸들러는 주로 ClientNotifier 객체에서 씬 어댑터 역할을 합니다. 서브클래스 구현자는 구독 관리자 크랭크를 켜기 위해 관련 슈퍼클래스 메서드를 호출하는 데 주의를 기울여야 합니다.
DMClient 요청 메서드에는 일반적으로 2개의 서명이 있으며, 하나는 명시적인 대상 노드 ID를 포함하고 다른 하나에는 지정된 대상을 포함합니다. 두 경우 모두 게시자에게 메시지를 전송하는 기능은 클라이언트의 기존 바인딩에 따라 다르지만, 첫 번째 경우에는 대상 ID가 여러 바인딩 대상 중에서 선택되며 두 번째 경우에는 바인딩 테이블의 첫 번째 항목이 기본값으로 선택됩니다. 이는 예를 들어 클라이언트가 단일 게시자에만 바인딩되는 경우에 유용합니다.
상속
상속 출처: <ph type="x-smartling-placeholder"></ph> nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine <ph type="x-smartling-placeholder">
</ph> nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
생성자 및 소멸자 |
|
---|---|
DMClient(void)
DMClient 객체의 기본 생성자입니다.
|
|
~DMClient(void)
DMClient 객체의 소멸자입니다.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
게시된 데이터의 보기를 요청합니다.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
기본 게시자에 대한 데이터 보기를 요청합니다.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
게시된 데이터의 업데이트를 요청합니다.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
기본 게시자의 데이터 업데이트를 요청합니다.
|
보호된 속성 |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
공개 함수 |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
실행 중인 트랜잭션이 취소되도록 요청합니다.
|
Clear(void)
|
virtual void
DMClient 객체와 연결된 내부 상태를 삭제합니다.
|
Finalize(void)
|
virtual void
작동 중인 DMClient를 종료합니다.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
'미완료' 처리 클라이언트에서 사용 중인 바인딩의 이름을 지정합니다.
|
보호된 함수 |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
게시된 데이터의 보기를 요청합니다.
지정된 원격 게시자에 상주하고 관리하는 데이터의 보기를 요청합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
||||||||
반환 |
그 외의 경우에는 트랜잭션을 초기화하거나 시작하지 못한 것을 나타내는 WEAVE_ERROR를 반환합니다.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
기본 게시자에 대한 데이터 보기를 요청합니다.
'기본'에 상주하고 관리하는 데이터의 뷰를 요청합니다. 게시자, 즉 클라이언트 결합 테이블의 첫 번째 (또는 유일한) 게시자입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
||||||
반환 |
그 외의 경우에는 트랜잭션을 초기화하거나 시작하지 못한 것을 나타내는 WEAVE_ERROR를 반환합니다.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
게시된 데이터의 업데이트를 요청합니다.
원격 게시자에게 관리 중인 데이터를 업데이트하도록 요청합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 |
성공 시 WEAVE_NO_ERROR, 업데이트 트랜잭션을 할당할 수 없는 경우 WEAVE_ERROR_NO_MEMORY. 그 외의 경우에는 업데이트 실패를 반영하는 WEAVE_ERROR를 반환합니다.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
기본 게시자의 데이터 업데이트를 요청합니다.
원격 게시자에게 관리 중인 데이터를 업데이트하도록 요청합니다. 이 버전은 클라이언트의 기본 바인딩 대상인 게시자에게 요청을 전달합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
성공 시 WEAVE_NO_ERROR, 업데이트 트랜잭션을 할당할 수 없는 경우 WEAVE_ERROR_NO_MEMORY. 그 외의 경우에는 업데이트 실패를 반영하는 WEAVE_ERROR를 반환합니다.
|
보호된 속성
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
공개 함수
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
실행 중인 트랜잭션이 취소되도록 요청합니다.
이 메서드는 네트워크 트래픽을 생성하지 않고 지정된 트랜잭션에 할당된 리소스만 해제합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 WEAVE_NO_ERROR, 거래 취소 실패를 반영하는 WEAVE_ERROR.
|
지우기
virtual void Clear( void )
DMClient 객체와 연결된 내부 상태를 삭제합니다.
특히 이 메서드는 모든 클라이언트 트랜잭션 풀을 지웁니다. 사용 중인 클라이언트의 경우 Finalize() 메서드가 더 이상 구독을 취소하고 트랜잭션 및 바인딩 테이블을 정리하므로 이 메서드가 더 좋습니다.
참고 항목: <ph type="x-smartling-placeholder"></ph> Finalize() <ph type="x-smartling-placeholder">
</ph>
DMClient
DMClient( void )
마무리
virtual void Finalize( void )
작동 중인 DMClient를 종료합니다.
클라이언트와 연결된 모든 작동 상태를 지우고 알리미에서 모든 관련 구독을 삭제합니다. Finalize() 호출 후 DMClient는 간단히 Init()를 호출하여 다시 초기화할 수 있습니다. Finalize()는 DMClient 소멸자에 의해 호출되지만 DMClient에 정리가 필요한 경우(예: 다시 사용할 수 있지만 나중에 다시 정상화해야 할 수도 있습니다.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
'미완료' 처리 클라이언트에서 사용 중인 바인딩의 이름을 지정합니다.
결합이 예기치 않게 실패하는 경우(예: 바인딩과 관련된 연결이 닫히면 이 메서드가 호출됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|