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

Ringkasan

Jenis publik

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

Fungsi statis publik

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

Fungsi publik

AbortSubscription(void)
void
Fungsi ini menghentikan langganan secara langsung - ini adalah panggilan sinkron.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Fungsi ini memulai penghentian langganan secara halus dan pembersihan objek pengendali.
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

Struct

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

Serikat

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

Jenis publik

@142

 @142

EventCallback

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

EventID

 EventID

HandlerId

uint8_t HandlerId

Fungsi statis publik

DefaultEventHandler

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

Fungsi publik

AbortSubscription

void AbortSubscription(
  void
)

Fungsi ini menghentikan langganan secara langsung - ini adalah panggilan sinkron.

Membatalkan langganan penerbit.

Tidak ada upaya yang dilakukan untuk memberi tahu klien tentang penghentian ini, dan konteks pertukaran yang mendasarinya, jika ada, akan segera dibatalkan. Setelah panggilan ini, aplikasi tidak akan diberi tahu tentang aktivitas lebih lanjut pada objek ini. Selain itu, aplikasi tidak diizinkan berinteraksi dengan objek ini setelahnya melalui salah satu metodenya.

Menghentikan akhir langganan penayang, tanpa memberi tahu klien langganan dan tanpa mengirim peristiwa OnSubscriptionTerminated ke pengendali peristiwa aplikasi. Jika ada langganan bersama, langganan penghitung dari penerbit kembali ke klien juga akan dihentikan.

Setelah memanggil AbortSubscription(), objek SubscriptionHandler akan memasuki status Terminated. Jika tidak ada referensi tambahan ke objek saat proses penghentian selesai, objek SubscriptionHandler akan dibebaskan.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

Fungsi ini memulai penghentian langganan secara halus dan pembersihan objek pengendali.

Mengakhiri langganan penerbit dengan tepat.

Ini adalah panggilan asinkron dan akan memberi tahu klien tentang penonaktifan yang akan datang melalui pesan SubscribeCancel/StatusReport jika relevan.

Secara khusus, tindakan ini melepaskan keterlibatan aplikasi dalam langganan ini. Setelah panggilan ini, aplikasi tidak akan diberi tahu tentang aktivitas lebih lanjut pada objek ini. Selain itu, aplikasi tidak diizinkan berinteraksi dengan objek ini setelahnya melalui salah satu metodenya.

Mengakhiri akhir langganan penerbit dengan baik. Jika dukungan pembatalan langganan diaktifkan, pesan SubscribeCancelRequest akan dikirim ke klien langganan dan sistem akan menunggu balasan sebelum menghentikan langganan; jika tidak, langganan akan langsung dihentikan dengan cara yang sama seperti AbortSubscription(). Jika ada langganan bersama, langganan penghitung dari penerbit yang kembali ke klien juga akan dihentikan.

Detail
Parameter
[in] aReasonProfileId
ProfileId StatusCode yang menunjukkan alasan di balik penghentian
[in] aReasonStatusCode
StatusCode yang menunjukkan alasan di balik penghentian
Nilai Pengembalian
Returns
kode kesalahan Weave hanya untuk tujuan informasi. Jika terjadi error, objek akan dihentikan secara sinkron (yaitu dibatalkan).

Sementara menunggu respons terhadap SubscribeCancelRequest, SubscriptionHandler memasuki status Canceling.

Setelah proses penghentian dimulai, objek SubscriptionHandler memasuki status Terminated dan peristiwa OnSubscriptionTerminated akan dikirim ke pengendali peristiwa aplikasi. Perhatikan bahwa, jika dukungan pembatalan tidak diaktifkan, pengendali peristiwa dapat dipanggil secara sinkron dalam panggilan ke EndSubscription().

Setelah pengendali peristiwa aplikasi ditampilkan, jika tidak ada referensi tambahan ke objek SubscriptionHandler, objek akan dibebaskan.

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
)