nl:: Weave:: System:: Platform:: Layer
สรุป
ฟังก์ชัน |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
นี่คือฮุกหลังการเริ่มต้นระบบ Weave เฉพาะแพลตฟอร์ม เลเยอร์
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
นี่คือฮุกล่วงหน้าของระบบ Weave เฉพาะแพลตฟอร์ม เลเยอร์
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกการแจกจ่ายข้อความ
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกการแจกจ่ายข้อความ
|
GetClock_Monotonic(void)
|
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนนิกเป็นไมโครวินาที
|
GetClock_MonotonicHiRes(void)
|
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนนิกความละเอียดสูงในหน่วยไมโครวินาที
|
GetClock_MonotonicMS(void)
|
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาระบบแบบโมโนนิกเป็นมิลลิวินาที
|
GetClock_RealTime(uint64_t & curTime)
|
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการหาเวลาปัจจุบัน (เวลาจริง) ในรูปแบบเวลาของ Unix แบบไมโครวินาที
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการดูเวลาจริง (พลเมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกโพสต์ข้อความ
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการตั้งค่าเวลาจริง (เวลาจริง) ปัจจุบัน
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกการแจกจ่ายข้อความ
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
นี่คือฮุกเริ่มต้นล่วงหน้าของระบบ Weave เฉพาะแพลตฟอร์ม Layer
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
นี่คือฮุกล่วงหน้าของระบบ Weave เฉพาะแพลตฟอร์ม เลเยอร์
|
ฟังก์ชัน
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
นี่คือฮุกหลังการเริ่มต้นระบบ Weave เฉพาะแพลตฟอร์ม เลเยอร์
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
นี่คือฮุกล่วงหน้าของระบบ Weave เฉพาะแพลตฟอร์ม เลเยอร์
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จ ไม่เช่นนั้นจะพบข้อผิดพลาดเฉพาะที่ระบุสาเหตุที่ทำให้ปิดระบบไม่สำเร็จ การส่งคืนสถานะไม่สำเร็จจะยกเลิกการปิดเครื่อง
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกการแจกจ่ายข้อความ
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
การดำเนินการนี้จะส่งเหตุการณ์ที่ระบุเพื่อจัดการ โดยยกเลิกการกำหนดประเภทและอาร์กิวเมนต์จากเหตุการณ์เพื่อส่งไปยัง Layer::HandleEvent ของระบบ Weave สำหรับการกระจายงานจริง
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
ผลลัพธ์ |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกการแจกจ่ายข้อความ
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
ซึ่งจะส่งผลกับลูปเหตุการณ์ที่รอคิวที่ให้บริการอินสแตนซ์นี้ ดึงเหตุการณ์ออกจากคิวนั้น แล้วส่งไปจัดการ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
ผลลัพธ์ |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนนิกเป็นไมโครวินาที
คาดว่าฟังก์ชันนี้จะแสดงผลเวลาที่ผ่านไปเป็นไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง การติดตั้งใช้งานแพลตฟอร์มมีภาระหน้าที่ในการแสดงผลค่าที่เพิ่มขึ้นเรื่อยๆ (กล่าวคือ ไม่รวมอยู่ด้วย) ระหว่างการรีบูตระบบ นอกจากนี้ ยังต้องมีแหล่งเวลาที่สำคัญเพื่อเลือกอย่างต่อเนื่องระหว่างสลีปโหมดของระบบที่ไม่ได้รีสตาร์ทเมื่อปลุกระบบ
Epoch ของเวลาที่ฟังก์ชันนี้ไม่ต้องเหมือนกับ Epoch สำหรับฟังก์ชัน GetClock... อื่นๆ รวมถึง GetClock_MonotonicMS()
ฟังก์ชันนี้ควรจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนนิกความละเอียดสูงในหน่วยไมโครวินาที
คาดว่าฟังก์ชันนี้จะแสดงผลเวลาที่ผ่านไปเป็นไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง ค่าที่แสดงผลโดย GetClock_MonotonicHiRes() ต้องเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่รวม) อย่างไรก็ตาม คุณไม่จำเป็นต้องมีตัวจับเวลาถอยหลังเพื่อทำเครื่องหมายต่อเนื่องระหว่างที่อยู่ในโหมด Deep Link ของระบบ
แพลตฟอร์ม ขอแนะนำให้ใช้ GetClock_MonotonicHiRes() โดยใช้ตัวจับเวลาความละเอียดสูงที่ไม่จำเป็นต้องค่อยๆ ปรับนาฬิกาทีละน้อย (การแกว่ง) บนแพลตฟอร์มที่ไม่มีตัวจับเวลาดังกล่าว GetClock_MonotonicHiRes() สามารถแสดงผลค่าเดียวกับ GetClock_Monotonic()
Epoch ของเวลาที่ฟังก์ชันนี้แสดงผลไม่จำเป็นต้องเหมือนกับ Epoch สำหรับฟังก์ชัน GetClock... อื่นๆ
ฟังก์ชันนี้ควรจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาระบบแบบโมโนนิกเป็นมิลลิวินาที
คาดว่าฟังก์ชันนี้จะแสดงผลเวลาที่ผ่านไปเป็นมิลลิวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง การติดตั้งใช้งานแพลตฟอร์มมีภาระหน้าที่ในการแสดงผลค่าที่เพิ่มขึ้นเรื่อยๆ (กล่าวคือ ไม่รวมอยู่ด้วย) ระหว่างการรีบูตระบบ นอกจากนี้ ยังต้องมีแหล่งเวลาที่สำคัญเพื่อเลือกอย่างต่อเนื่องระหว่างสลีปโหมดของระบบที่ไม่ได้รีสตาร์ทเมื่อปลุกระบบ
Epoch ของเวลาที่ฟังก์ชันนี้ไม่ต้องเหมือนกับ Epoch สำหรับฟังก์ชัน GetClock... อื่นๆ รวมถึง GetClock_Monotonic()
ฟังก์ชันนี้ควรจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปเป็นมิลลิวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการหาเวลาปัจจุบัน (เวลาจริง) ในรูปแบบเวลาของ Unix แบบไมโครวินาที
ฟังก์ชันนี้จะส่งคืนแนวคิดของแพลตฟอร์มท้องถิ่นเกี่ยวกับเวลาปัจจุบัน ซึ่งแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที นาฬิกาเบื้องหลังจะต้องเลือกไว้ที่อัตราอย่างน้อย 1 วินาที (ค่า 1,000,000) แต่อาจทำเครื่องหมายเร็วกว่านั้น
ในแพลตฟอร์มที่สามารถติดตามแบบเรียลไทม์ GetClock_RealTime() จะต้องแสดงผลข้อผิดพลาด WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED เมื่อระบบยกเลิกการซิงค์กับแบบเรียลไทม์
แพลตฟอร์มที่ติดตามแบบเรียลไทม์ไม่ได้ไม่ควรใช้ฟังก์ชัน GetClock_RealTime() ทำให้ฟีเจอร์ใช้งานไม่ได้แบบลิงก์เวลาที่ต้องใช้การเข้าถึงแบบเรียลไทม์ อีกทางเลือกหนึ่งคือ แพลตฟอร์มดังกล่าวอาจส่งการใช้งาน GetClock_RealTime() ที่แสดงข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
ฟังก์ชันนี้ควรจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการดูเวลาจริง (พลเมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที
คาดว่าฟังก์ชันนี้จะแสดงผลแนวคิดของแพลตฟอร์มในเครื่องเกี่ยวกับเวลาจริงปัจจุบัน ซึ่งแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นมิลลิวินาที
โปรดดูรายละเอียดเกี่ยวกับลักษณะการทำงานที่คาดไว้ในเอกสารประกอบของ GetClock_RealTime()
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกโพสต์ข้อความ
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
การดำเนินการนี้จะโพสต์เหตุการณ์ / ข้อความประเภทที่ระบุพร้อมอาร์กิวเมนต์ที่ระบุลงในเหตุการณ์ / คิวข้อความเฉพาะแพลตฟอร์มของอินสแตนซ์นี้
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จ ไม่เช่นนั้น จะแสดงข้อผิดพลาดเฉพาะที่ระบุสาเหตุที่ทำให้การเริ่มต้นล้มเหลว
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการตั้งค่าเวลาจริง (เวลาจริง) ปัจจุบัน
Weave เรียกใช้ฟังก์ชันนี้เพื่อกำหนดแนวคิดของแพลตฟอร์มท้องถิ่นเกี่ยวกับเรียลไทม์ปัจจุบัน เวลาปัจจุบันใหม่จะแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที
เมื่อตั้งค่าแล้ว นาฬิกาแพลตฟอร์มที่สำคัญ ควรติดตามแบบเรียลไทม์ซึ่งมีรายละเอียดเป็นวินาทีเป็นอย่างน้อย
ในแพลตฟอร์มที่รองรับการติดตามแบบเรียลไทม์ ฟังก์ชัน SetClock_RealTime() จะต้องแสดงผลข้อผิดพลาด WEAVE_SYSTEM_ERROR_ACCESS_DENIED หากแอปพลิเคชันการเรียกใช้ไม่มีสิทธิ์ตั้งเวลาปัจจุบัน
แพลตฟอร์มที่ติดตามแบบเรียลไทม์ไม่ได้หรือไม่มีความสามารถในการตั้งเวลาแบบเรียลไทม์ ไม่ควรใช้ฟังก์ชัน SetClock_RealTime() ที่ทำให้ฟีเจอร์ล้มเหลวเวลาลิงก์ซึ่งขึ้นอยู่กับการตั้งค่าแบบเรียลไทม์ อีกทางเลือกหนึ่งคือ แพลตฟอร์มดังกล่าวอาจติดตั้งใช้งาน SetClock_RealTime() ที่แสดงข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
ฟังก์ชันนี้ควรจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
นี่เป็นเหตุการณ์เฉพาะแพลตฟอร์ม / ฮุกการแจกจ่ายข้อความ
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
นี่คือฮุกเริ่มต้นล่วงหน้าของระบบ Weave เฉพาะแพลตฟอร์ม Layer
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จ ไม่เช่นนั้น จะแสดงข้อผิดพลาดเฉพาะที่ระบุสาเหตุที่ทำให้การเริ่มต้นล้มเหลว การส่งคืนสถานะไม่สำเร็จจะล้มเลิกการเริ่มต้น
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
นี่คือฮุกล่วงหน้าของระบบ Weave เฉพาะแพลตฟอร์ม เลเยอร์
ซึ่งอาจถูกลบล้างโดยการยืนยันคำจำกัดความของผู้ประมวลผลข้อมูลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จ ไม่เช่นนั้นจะพบข้อผิดพลาดเฉพาะที่ระบุสาเหตุที่ทำให้ปิดระบบไม่สำเร็จ การส่งคืนสถานะไม่สำเร็จจะยกเลิกการปิดเครื่อง
|