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

สรุป

ประเภทสาธารณะ

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

ฟังก์ชันแบบคงที่แบบสาธารณะ

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

ฟังก์ชันสาธารณะ

AbortSubscription(void)
void
ฟังก์ชันนี้จะยุติการสมัครใช้บริการทันที ซึ่งเป็นการเรียกใช้พร้อมกัน
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
ฟังก์ชันนี้จะเริ่มต้นปิดการสมัครใช้บริการอย่างค่อยเป็นค่อยไปและล้างข้อมูลออบเจ็กต์ตัวแฮนเดิล
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

โครงสร้าง

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

สหภาพ

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

ประเภทสาธารณะ

@142

 @142

EventCallback

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

EventID

 EventID

HandlerId

uint8_t HandlerId

ฟังก์ชันแบบคงที่แบบสาธารณะ

DefaultEventHandler

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

ฟังก์ชันสาธารณะ

AbortSubscription

void AbortSubscription(
  void
)

ฟังก์ชันนี้จะยุติการสมัครใช้บริการทันที ซึ่งเป็นการเรียกใช้พร้อมกัน

ยกเลิกการสมัครใช้บริการของผู้เผยแพร่เนื้อหา

ไม่มีการพยายามแจ้งให้ลูกค้าทราบถึงการสิ้นสุด และบริบทของการแลกเปลี่ยนที่เกี่ยวข้องหากล้มเลิกทันที หลังจากการเรียกนี้ แอปพลิเคชันจะไม่ได้รับการแจ้งเตือนเกี่ยวกับกิจกรรมใดๆ เพิ่มเติมในออบเจ็กต์นี้ นอกจากนี้ แอปพลิเคชันยังไม่ได้รับอนุญาตให้โต้ตอบกับออบเจ็กต์นี้หลังจากนั้นผ่านทางวิธีการใดๆ ก็ตาม

ยุติการสมัครใช้บริการของผู้เผยแพร่เนื้อหา โดยไม่แจ้งไคลเอ็นต์การสมัครใช้บริการ และไม่ส่งเหตุการณ์ OnSubscriptionTerminated ไปยังเครื่องจัดการเหตุการณ์ของแอปพลิเคชัน หากมีการสมัครใช้บริการร่วมกัน การสมัครใช้บริการที่โต้แย้งจากผู้จัดพิมพ์กลับไปยังลูกค้าจะสิ้นสุดลงด้วย

เมื่อเรียก AbortSubscription() ออบเจ็กต์ SubscriptionHandler จะเข้าสู่สถานะ Terminated หากไม่มีการอ้างอิงเพิ่มเติมไปยังออบเจ็กต์เมื่อกระบวนการสิ้นสุดการดำเนินการเสร็จสิ้น ออบเจ็กต์ SubscriptionHandler จะถูกปล่อยอิสระ

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

ฟังก์ชันนี้จะเริ่มต้นปิดการสมัครใช้บริการอย่างค่อยเป็นค่อยไปและล้างข้อมูลออบเจ็กต์ตัวแฮนเดิล

สิ้นสุดการสมัครรับข้อมูลของผู้เผยแพร่อย่างสง่างาม

การโทรนี้ไม่พร้อมกันและจะแจ้งให้ลูกค้าทราบถึงการปิดตัวที่กำลังจะเกิดขึ้นผ่านทางข้อความ SubscriptionCancel/Status Report ที่เกี่ยวข้อง

สิ่งที่เห็นได้ชัดคือการยกเลิกการมีส่วนร่วมของแอปพลิเคชันในการสมัครใช้บริการนี้ หลังจากการเรียกนี้ แอปพลิเคชันจะไม่ได้รับการแจ้งเตือนเกี่ยวกับกิจกรรมใดๆ เพิ่มเติมในออบเจ็กต์นี้ นอกจากนี้ แอปพลิเคชันยังไม่ได้รับอนุญาตให้โต้ตอบกับออบเจ็กต์นี้หลังจากนั้นผ่านทางวิธีการใดๆ ก็ตาม

การสิ้นสุดการสมัครใช้บริการของผู้เผยแพร่เนื้อหาอย่างสละสลวย หากเปิดใช้การสนับสนุนการยกเลิกการสมัครรับข้อมูล ระบบจะส่งข้อความ SubscriptionCancelRequest ไปยังไคลเอ็นต์ที่สมัครใช้บริการ และระบบจะรอการตอบกลับก่อนที่จะสิ้นสุดการสมัครใช้บริการ มิเช่นนั้น การสมัครใช้บริการจะสิ้นสุดทันทีในลักษณะเดียวกันกับ AbortSubscription() หากมีการสมัครใช้บริการแบบร่วมกันอยู่แล้ว การสมัครใช้บริการที่โต้แย้งจากผู้เผยแพร่กลับไปยังลูกค้าจะสิ้นสุดลงด้วย

รายละเอียด
พารามิเตอร์
[in] aReasonProfileId
ProfileId ของ StatusCode ที่ระบุสาเหตุของการสิ้นสุด
[in] aReasonStatusCode
รหัสสถานะที่ระบุสาเหตุของการสิ้นสุด
แสดงผลค่า
Returns
รหัสข้อผิดพลาด Weave มีวัตถุประสงค์เพื่อให้ข้อมูลเท่านั้น เมื่อมีข้อผิดพลาดเกิดขึ้น ออบเจ็กต์จะสิ้นสุดแบบพร้อมกัน (กล่าวคือ ล้มเลิก)

ขณะรอการตอบกลับ SubscriptionCancelRequest นั้น SubscriptionHandler จะเข้าสู่สถานะ Canceling

เมื่อกระบวนการยุติเริ่มต้นขึ้น ออบเจ็กต์ SubscriptionHandler จะเข้าสู่สถานะ Terminated และส่งเหตุการณ์ OnSubscriptionTerminated ไปยังเครื่องจัดการเหตุการณ์ของแอปพลิเคชัน โปรดทราบว่าหากไม่ได้เปิดใช้การยกเลิกการสนับสนุน อาจมีการเรียกใช้เครื่องจัดการเหตุการณ์แบบพร้อมกันภายในการเรียก EndSubscription()

หลังจากตัวแฮนเดิลเหตุการณ์ของแอปพลิเคชันกลับมา หากไม่มีการอ้างอิงเพิ่มเติมไปยังออบเจ็กต์ SubscriptionHandler ออบเจ็กต์ดังกล่าวจะเป็นอิสระ

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
)