Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: 프로필 :: DataManagement_Legacy :: DMClient

#include <src/lib/profiles/data-management/Legacy/DMClient.h>

응용 프로그램 별 WDM 클라이언트에 대한 추상 기본 클래스입니다.

요약

DMClient는 표준 WDM 클라이언트입니다. 구현에는 선택적으로 구독 / 알림이 포함됩니다. 그것은 DM의의 혼합이다 ProtocolEngine의 COMMS 터닝 - 크랭크, 그리고 전적으로 추상적 처리 클래스, ClientDataManager에 이렇게 구현 된 가입 관련 몇 가지 방법으로 클래스, 상위 계층은 그들에 대해 걱정할 필요가 없습니다.

가입 관련 작업에 대한 핸들러는 주로 이상 얇은 어댑터 역할을 ClientNotifier의 객체입니다. 서브 클래스 구현자는 구독 관리자의 크랭크를 돌리기 위해 관련 수퍼 클래스 메서드를 호출하도록주의해야합니다.

DMClient의 요청 방법은 일반적으로 2 명 서명, 명시 적으로 목적지 노드의 ID와 하나 지정된 목적지와 다른 있습니다. 두 경우 모두 게시자에게 메시지를 보내는 기능은 클라이언트의 기존 바인딩에 따라 다르지만 첫 번째 경우 대상 ID는 여러 바인딩 대상 중에서 선택하고 두 번째 경우에는 첫 번째 바인딩 테이블의 항목이 기본값으로 선택됩니다. 예를 들어 클라이언트가 단일 게시자에만 바인딩되는 경우에 유용합니다.

계승

다음에서 상속 :
  nl :: Weave :: Profiles :: DataManagement_Legacy :: ProtocolEngine
  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)
NewView (void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

게시 된 데이터보기를 요청합니다.

지정된 원격 게시자에 상주하고 관리하는 데이터보기를 요청합니다.

세부
매개 변수
[in] aDestinationId
원격 게시자의 64 비트 노드 ID에 대한 참조입니다.
[in] aPathList
(A)에 대한 참조 ReferencedTLVData에 요청 된 데이터를 나타내는 TLV 인코딩 경로리스트를 포함하는 개체.
[in] aTxnId
이보기 작업을 관리하기 위해 설정된 WDM 트랜잭션의 식별자입니다.
[in] aTimeout
보기 응답을 기다리는 최대 시간 (밀리 초)입니다.
반환 값
WEAVE_NO_ERROR
성공에.
WEAVE_ERROR_NO_MEMORY
트랜잭션을 할당 할 수없는 경우.
보고
그렇지 않으면, WEAVE_ERROR는 초기화하거나 트랜잭션을 시작하는 실패를 반영.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

기본 게시자에 대한 데이터보기를 요청합니다.

"기본"게시자, 즉 클라이언트 바인딩 테이블의 첫 번째 (또는 유일한) 게시자에 상주하고 관리하는 데이터보기를 요청합니다.

세부
매개 변수
[in] aPathList
(A)에 대한 참조 ReferencedTLVData에 요청 된 데이터를 나타내는 TLV 인코딩 경로리스트를 포함하는 개체.
[in] aTxnId
이보기 작업을 관리하기 위해 설정된 WDM 트랜잭션의 식별자입니다.
[in] aTimeout
보기 응답을 기다리는 최대 시간 (밀리 초)입니다.
반환 값
WEAVE_NO_ERROR
성공에.
WEAVE_ERROR_NO_MEMORY
트랜잭션을 할당 할 수없는 경우.
보고
그렇지 않으면, WEAVE_ERROR는 초기화하거나 트랜잭션을 시작하는 실패를 반영.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

게시 된 데이터에 대한 업데이트를 요청합니다.

원격 게시자가 관리중인 데이터를 업데이트하도록 요청합니다.

세부
매개 변수
[in] aDestinationId
요청이 전송되는 원격 게시자의 64 비트 노드 ID에 대한 참조입니다.
[in] aDataList
(A)에 대한 참조 ReferencedTLVData의 업데이트가 적용되는 경로를 포함하는 업데이트의 표현을 포함하는 TLV 인코딩 된 데이터리스트를 포함하는 개체.
[in] aTxnId
업데이트 요청을 관리하기 위해 설정된 트랜잭션의 식별자입니다.
[in] aTimeout
해당 상태 보고서를 기다리는 최대 시간 (밀리 초)입니다.
보고
WEAVE_NO_ERROR 성공에 WEAVE_ERROR_NO_MEMORY는 업데이트 트랜잭션이 할당 할 수없는 경우. 그렇지 않으면, 반환 WEAVE_ERROR 업데이트 실패를 반영합니다.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

기본 게시자의 데이터 업데이트를 요청합니다.

원격 게시자가 관리중인 데이터를 업데이트하도록 요청합니다. 이 버전은 클라이언트의 기본 바인딩 대상인 게시자에게 요청을 보냅니다.

세부
매개 변수
[in] aDataList
(A)에 대한 참조 ReferencedTLVData의 업데이트가 적용되는 경로를 포함하는 업데이트의 표현을 포함하는 TLV 인코딩 된 데이터리스트를 포함하는 개체.
[in] aTxnId
업데이트 요청을 관리하기 위해 설정된 트랜잭션의 식별자입니다.
[in] 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
)

실행중인 트랜잭션의 취소를 요청합니다.

이 방법은 네트워크 트래픽을 생성하지 않고 지정된 트랜잭션에 할당 된 리소스 만 해제합니다.

세부
매개 변수
[in] aTxnId
취소 할 거래 번호입니다. kTransactionIdNotSpecified가 제공되면 모든 트랜잭션이 취소됩니다.
[in] aError
WEAVE_ERROR는 트랜잭션을 취소 할 때보고합니다.
보고
WEAVE_NO_ERROR 성공 또는에 WEAVE_ERROR 거래를 취소 할 수있는 실패를 반영.

맑은

virtual void Clear(
  void
)

과 관련된 내부 상태 취소 DMClient의 개체를.

특히이 방법은 모든 클라이언트 트랜잭션 풀을 지 웁니다. 사용되었습니다 클라이언트에 대한 의 Finalize () 그것은 또한 구독을 취소하고 트랜잭션 및 바인딩 테이블을 정리하기 때문에 방법이 바람직하다.

또한보십시오:
Finalize ()

DMClient

 DMClient(
  void
)

기본 생성자 DMClient는 객체.

모든 내부 상태를 지 웁니다. DMClient는 사용하기 전에 초기화 (와 더 초기화)가 필요합니다.

마무리

virtual void Finalize(
  void
)

운영 종료 DMClient을 .

클라이언트와 관련된 모든 작동 상태를 지우고 알림에서 모든 관련 구독을 제거합니다. 를 호출 한 후에 의 Finalize () DMClient는 초기화를 호출하여 간단히 ()을 다시 초기화 할 수있다. 마무리는 () 에 의해 호출 DMClient의 소멸자하지만 경우에 호출 할 수 DMClient가 고장 나 일시 정지의 경우 정리, 예를 들어 필요하지만 일부 나중에 재구성해야 할 수도 있습니다.

불완전한 표시

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

클라이언트에서 사용중인 바인딩의 "불완전"을 처리합니다.

예를 들어 바인딩과 관련된 연결이 닫히면 바인딩이 예기치 않게 실패하면이 메서드가 호출됩니다.

세부
매개 변수
[in] aBinding
받는 포인터 바인딩 불완전되었다.
[in] aReport
실패 이유를 제공하는 상태 보고서에 대한 참조입니다.

~ DMClient

virtual  ~DMClient(
  void
)

대한 소멸자 DMClient는 객체.

모든 내부 상태를 지우고 필요한 경우 보류중인 구독을 취소합니다.

보호 된 기능

새로운 업데이트

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)