nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
สรุป
ประเภทสาธารณะ |
|
---|---|
@142
|
enum |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
enum |
HandlerId
|
typedefuint8_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
|
Binding *
|
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:: |
สหภาพ |
|
---|---|
nl:: |
|
nl:: |
ประเภทสาธารณะ
@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() หากมีการสมัครใช้บริการแบบร่วมกันอยู่แล้ว การสมัครใช้บริการที่โต้แย้งจากผู้เผยแพร่กลับไปยังลูกค้าจะสิ้นสุดลงด้วย
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
ขณะรอการตอบกลับ 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 )