nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler

Tóm tắt

Loại công khai

@142 enum
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID enum
HandlerId typedef
uint8_t

Hàm tĩnh công khai

DefaultEventHandler(EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

Hàm công khai

AbortSubscription(void)
void
Hàm này chấm dứt gói thuê bao ngay lập tức – đây là lệnh gọi đồng bộ.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Hàm này sẽ bắt đầu tắt gói thuê bao và dọn dẹp đối tượng trình xử lý theo cách linh hoạt.
GetBinding(void) const
GetMaxNotificationSize(void) const
uint32_t
GetPeerNodeId(void) const
uint64_t
GetSubscriptionId(uint64_t *const apSubscriptionId)
IsActive(void)
bool
IsCanceling() const
bool
IsEstablishedIdle()
bool
IsFree()
bool
IsTerminated()
bool
SetMaxNotificationSize(const uint32_t aMaxPayload)
void

Cấu trúc

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::TraitInstanceInfo

Hiệp hội

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::InEventParam
nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::OutEventParam

Loại công khai

@142

 @142

EventCallback

void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventID

 EventID

HandlerId

uint8_t HandlerId

Hàm tĩnh công khai

DefaultEventHandler

void DefaultEventHandler(
  EventID aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Hàm công khai

AbortSubscription

void AbortSubscription(
  void
)

Hàm này chấm dứt gói thuê bao ngay lập tức – đây là lệnh gọi đồng bộ.

Huỷ gói thuê bao của nhà xuất bản.

Không có nỗ lực nào để thông báo cho khách hàng về việc chấm dứt này và ngữ cảnh trao đổi cơ bản (nếu có) sẽ bị huỷ ngay lập tức. Sau lệnh gọi này, ứng dụng sẽ không được thông báo về bất kỳ hoạt động nào khác liên quan đến đối tượng này. Ngoài ra, ứng dụng không được phép tương tác với đối tượng này sau đó thông qua bất kỳ phương thức nào.

Chấm dứt việc nhà xuất bản kết thúc gói thuê bao mà không thông báo cho khách hàng mua gói thuê bao và không gửi sự kiện OnSubscriptionTerminated cho trình xử lý sự kiện của ứng dụng. Nếu tồn tại gói thuê bao chung, thì gói thuê bao bộ đếm từ nhà xuất bản trả về cho khách hàng cũng sẽ bị chấm dứt.

Khi gọi AbortSubscription(), đối tượng SubscriptionHandler sẽ chuyển sang trạng thái Terminated. Nếu không có tham chiếu bổ sung nào đến đối tượng khi quá trình chấm dứt hoàn tất, thì đối tượng SubscriptionHandler sẽ được giải phóng.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

Hàm này sẽ bắt đầu tắt gói thuê bao và dọn dẹp đối tượng trình xử lý theo cách linh hoạt.

Kết thúc linh hoạt gói thuê bao của nhà xuất bản.

Đây là cuộc gọi không đồng bộ và sẽ thông báo cho ứng dụng khách về việc sắp ngừng hoạt động thông qua thông báo SubscribeCancel/StatusReport (Đăng ký theo dõi) nếu có liên quan.

Đáng chú ý là việc này sẽ từ bỏ quyền tham gia của ứng dụng vào gói thuê bao này. Sau lệnh gọi này, ứng dụng sẽ không được thông báo về bất kỳ hoạt động nào khác liên quan đến đối tượng này. Ngoài ra, ứng dụng không được phép tương tác với đối tượng này sau đó thông qua bất kỳ phương thức nào.

Chấm dứt linh hoạt việc nhà xuất bản kết thúc gói thuê bao. Nếu bật chế độ hỗ trợ huỷ gói thuê bao, thì một thông báo SubscriptionCancelRequest sẽ được gửi đến ứng dụng khách đăng ký và hệ thống sẽ chờ phản hồi trước khi chấm dứt gói thuê bao; nếu không thì gói thuê bao sẽ bị chấm dứt ngay lập tức theo cách tương tự như AbortSubscription(). Nếu tồn tại một gói thuê bao chung, việc đăng ký bộ đếm từ nhà xuất bản cho ứng dụng khách cũng sẽ bị chấm dứt.

Thông tin chi tiết
Các tham số
[in] aReasonProfileId
ProfileId của StatusCode cho biết lý do chấm dứt
[in] aReasonStatusCode
StatusCode cho biết lý do chấm dứt
Giá trị trả về
Returns
mã lỗi Weave chỉ nhằm mục đích cung cấp thông tin. Trong bất kỳ lỗi nào, đối tượng sẽ bị chấm dứt một cách đồng bộ (tức là bị huỷ).

Trong khi chờ phản hồi một SubscriptionCancelRequest, SubscriptionHandler sẽ chuyển sang trạng thái Canceling.

Sau khi quá trình chấm dứt bắt đầu, đối tượng SubscriptionHandler sẽ chuyển sang trạng thái Terminated và sự kiện OnSubscriptionTerminated được gửi đến trình xử lý sự kiện của ứng dụng. Lưu ý rằng nếu không bật tính năng hỗ trợ huỷ, thì trình xử lý sự kiện có thể được gọi đồng bộ trong lệnh gọi đến EndSubscription().

Sau khi trình xử lý sự kiện của ứng dụng trả về, nếu không có tham chiếu bổ sung nào đến đối tượng SubscriptionHandler thì đối tượng sẽ được giải phóng.

GetBinding

Binding * GetBinding(
  void
) const 

GetMaxNotificationSize

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IsActive

bool IsActive(
  void
)

IsCanceling

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

IsFree

bool IsFree()

IsTerminated

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)