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 bắt đầu một thao tác tắt gói thuê bao một cách nhẹ nhàng và dọn dẹp đối tượng trình xử lý.
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

Liên minh

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ỷ đăng ký của nhà xuất bản.

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

Chấm dứt gói thuê bao của nhà xuất bản mà không thông báo cho khách hàng đăng ký cũng như không gửi sự kiện OnSubscriptionTerminated tới trình xử lý sự kiện của ứng dụng. Nếu có gói thuê bao chung, thì gói thuê bao bộ đếm của nhà xuất bản quay về ứng dụ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 nào khác đế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 bắt đầu một thao tác tắt gói thuê bao một cách nhẹ nhàng và dọn dẹp đối tượng trình xử lý.

Chấm dứt 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 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 cuộc gọi này, ứng dụng sẽ không nhận được thông báo về bất kỳ hoạt động nào khác trên đối tượng này. Ngoài ra, sau đó ứng dụng không được phép tương tác với đối tượng này thông qua bất kỳ phương thức nào.

Chấm dứt linh hoạt việc kết thúc gói thuê bao của nhà xuất bản. Nếu bạn bật chế độ hỗ trợ huỷ gói thuê bao, thì một thông báo SubscribeCancelRequest sẽ được gửi đến ứng dụng đă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, 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 có gói thuê bao chung, thì gói thuê bao bộ đếm của nhà xuất bản quay về ứng dụng cũng sẽ bị chấm dứt.

Thông tin chi tiết
Thông số
[in] aReasonProfileId
ProfileId của StatusCode cho biết lý do chấm dứt
[in] aReasonStatusCode
Mã trạng thái 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. Khi có lỗi, đối tượng sẽ bị kết thúc đồng bộ (tức là bị huỷ).

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

Sau khi quy trình chấm dứt bắt đầu, đối tượng SubscriptionHandler sẽ chuyển sang trạng thái Terminated và một 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 bạn 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 nào khác đế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
)