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

nl::Weave::프로필::DataManagement_Legacy::DM게시자

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

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

요약

DMPublisher는 표준 WDM 게시자 기본 클래스입니다. 통신 크랭킹 턴킹을 처리하는 DM ProtocolEngine 클래스와 완전하게 PublisherDataManager 클래스를 혼합하여 표시합니다. 구독 및 알림 지원은 선택사항이며 항목이 없는 구독 테이블을 구성하여 이를 억제할 수 있습니다.

상속

상속 출처:
nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
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 객체의 내부 상태를 삭제합니다.

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

DM게시자

 DMPublisher(
  void
)

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

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

완료

virtual void Finalize(
  void
)

작동하는 DMPublisher를 종료합니다.

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

미완료 표시

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 객체를 초기화합니다.

이 방법은 교환 관리자를 포함한 모든 클라이언트 요청에 대해 리스너를 교환 관리자에 설치하는 부작용이 있습니다.

세부정보
매개변수
[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를 반환합니다.

뷰 응답

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 버퍼를 할당할 수 없는 경우.

약 DM게시자

virtual  ~DMPublisher(
  void
)

DMPublisher 객체의 소멸자입니다.

내부 상태를 모두 삭제하고 거래소가 있는 경우 리스너를 삭제합니다.