nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

애플리케이션별 WDM 게시자를 위한 추상 기본 클래스입니다.

요약

DMPublisher는 표준 WDM 게시자 기본 클래스입니다. 커뮤니케이션 크랭크 전환을 처리하는 DM ProtocolEngine 클래스와 완전히 추상적인 PublisherDataManager 클래스를 혼합한 것입니다. 구독 및 알림 지원은 선택사항이며 항목이 없는 구독 테이블을 구성하는 것만으로 억제할 수 있습니다.

상속

상속 출처: <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

생성자 및 소멸자

DMPublisher(void)
DMPublisher 객체의 기본 생성자입니다.
~DMPublisher(void)
DMPublisher 객체의 소멸자입니다.

공개 함수

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
DMPublisher 객체의 내부 상태를 삭제합니다.
Finalize(void)
virtual void
작동 중인 DMPublisher를 종료합니다.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
바인딩이 실패했다는 표시를 처리합니다.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
DMPublisher 객체를 초기화합니다.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
업데이트 요청에 응답합니다.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
뷰 요청에 응답합니다.

공개 함수

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

지우기

virtual void Clear(
  void
)

DMPublisher 객체의 내부 상태를 삭제합니다.

알림 트랜잭션 풀과 구독 테이블을 지웁니다.

DMPublisher

 DMPublisher(
  void
)

DMPublisher 객체의 기본 생성자입니다.

모든 내부 상태를 지웁니다.

마무리

virtual void Finalize(
  void
)

작동 중인 DMPublisher를 종료합니다.

모든 작동 상태를 지우고 실행 중인 리스너를 종료합니다.

IncompleteIndication

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

바인딩이 실패했다는 표시를 처리합니다.

바인딩이 불완전하게 되면, 즉 TCP 바인딩에 대한 연결이 종료되면 프로토콜 엔진은 상태 핸들러 호출을 포함하여 바인딩에 의존하는 모든 트랜잭션을 실패해야 합니다. 또한 불완전한 표시는 피어 ID를 사용하는 이 메서드의 대체 형식을 구현하는 슈퍼클래스 객체로 전달됩니다.

세부정보
매개변수
[in] aBinding
실패한 바인딩을 가리키는 포인터입니다.
[in] aReport
실패 이유를 자세히 설명하는 StatusReport 객체에 대한 참조입니다.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

DMPublisher 객체를 초기화합니다.

이 메서드에는 구독 요청을 포함하여 모든 클라이언트 요청에 대해 Exchange Manager에 리스너를 설치하는 부작용이 있습니다.

세부정보
매개변수
[in] aExchangeMgr
게시자가 참여하려는 모든 교환에 사용할 WeaveExchangeManager 객체에 대한 포인터입니다.
[in] aResponseTimeout
밀리초 단위의 응답 제한 시간, 즉 응답을 기다리는 최대 시간입니다.
반환
WEAVE_NO_ERROR. 성공 시. 그 외의 경우에는 게시자를 제대로 설정하지 못했음을 반영하는 WEAVE_ERROR를 반환합니다.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

업데이트 요청에 응답합니다.

처리 후에 표시에 제공된 교환 컨텍스트를 사용하여 업데이트 요청에 대한 응답을 전송합니다.

세부정보
매개변수
[in] aResponseCtx
요청이 수신된 교환 컨텍스트에 대한 포인터입니다.
[in] aStatus
요청 상태에 대한 정보를 포함하는 StatusReport 객체에 대한 참조입니다.
반환
WEAVE_NO_ERROR. 성공 시. 그 외의 경우에는 응답 메시지 전송에 실패했음을 나타내는 WEAVE_ERROR를 반환합니다.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

뷰 요청에 응답합니다.

처리 후에 표시에 제공된 교환 컨텍스트를 사용하여 조회 요청에 대한 응답을 전송합니다.

세부정보
매개변수
[in] aResponseCtx
요청이 수신된 교환 컨텍스트에 대한 포인터입니다.
[in] aStatus
요청 상태에 대한 정보를 포함하는 StatusReport 객체에 대한 참조입니다. 성공적으로 처리되는 경우 요청자는 관심 있는 데이터가 포함된 데이터 목록을 기대할 수 있습니다.
[in] aDataList
관심 있는 데이터와 해당 데이터의 배치를 나타내는 경로를 포함하는 TLV로 인코딩된 데이터 목록을 포함하는 선택적 ReferencedTLVData 객체에 대한 포인터입니다. 이전 매개변수에 지정된 상태가 성공이 아닌 경우 이 매개변수는 NULL입니다.
반환 값
WEAVE_NO_ERROR
성공 시 그 외의 경우에는 응답 메시지 전송에 실패했음을 나타내는 WEAVE_ERROR를 반환합니다.
WEAVE_ERROR_INVALID_ARGUMENT
지정된 매개변수가 일치하지 않는 경우
WEAVE_ERROR_NO_MEMORY
Inet 버퍼를 할당할 수 없는 경우.

~DMPublisher

virtual  ~DMPublisher(
  void
)

DMPublisher 객체의 소멸자입니다.

모든 내부 상태를 지우고 거래소 관리자에서 리스너를 제거합니다.