nl:: Weave:: System:: Layer
#include <src/system/SystemLayer.h>
This provides access to timers according to the configured event handling model.
สรุป
สำหรับ WEAVE_SYSTEM_CONFIG_USE_SOCKETS
การแจ้งเตือนความพร้อมของกิจกรรมจะจัดการผ่านการใช้งานแบบสำรวจ/การเลือกแบบดั้งเดิมในการปรับแพลตฟอร์ม
สำหรับ WEAVE_SYSTEM_CONFIG_USE_LWIP
การแจ้งเตือนความพร้อมของกิจกรรมจะจัดการผ่านกิจกรรม / ข้อความ และฮุกเฉพาะแพลตฟอร์มและระบบสำหรับระบบกิจกรรม/ข้อความ
ผู้ผลิตและผู้ทำลาย |
|
---|---|
Layer(void)
|
ประเภทสาธารณะ |
|
---|---|
EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)
|
TypedefError(*
|
TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)
|
Typedefvoid(*
|
ฟังก์ชันสาธารณะ |
|
---|---|
AddEventHandlerDelegate(LwIPEventHandlerDelegate & aDelegate)
|
Error
ซึ่งจะเพิ่มการมอบสิทธิ์ตัวแฮนเดิลเหตุการณ์ลงในเลเยอร์ของระบบเพื่อขยายความสามารถในการจัดการเหตุการณ์ LwIP
|
CancelTimer(TimerCompleteFunct aOnComplete, void *aAppState)
|
void
วิธีนี้จะยกเลิกตัวจับเวลาแบบครั้งเดียว โดยเริ่มตั้งแต่วันที่
StartTimer() เป็นต้นไป |
DispatchEvent(Event aEvent)
|
Error
การดำเนินการนี้จะส่งเหตุการณ์ที่ระบุเพื่อจัดการโดยอินสแตนซ์นี้
|
DispatchEvents(void)
|
Error
นี่คือ Wrapper ของไวยากรณ์รอบๆ ฮุกเฉพาะแพลตฟอร์มที่ส่งผลต่อการวนซ้ำเหตุการณ์ รอคิวที่ให้บริการอินสแตนซ์นี้ จากนั้นดึงเหตุการณ์ออกจากคิว แล้วส่งไปจัดการ
|
GetPlatformData(void) const
|
void *
การดำเนินการนี้จะส่งคืนข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่กำหนดให้อินสแตนซ์ หากมีการตั้งค่าไว้ก่อนหน้านี้
|
HandleEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
|
Error
ซึ่งจะใช้งานการมอบหมายงานและการจัดการเหตุการณ์ Layer ของระบบ Weave ที่เกิดขึ้นจริง
|
HandlePlatformTimer(void)
|
Error
จัดการเหตุการณ์การหมดอายุของตัวจับเวลาของแพลตฟอร์ม
|
HandleSelectResult(int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
|
void
จัดการ I/O จากการโทรที่เลือก
|
Init(void *aContext)
|
Error
|
NewTimer(Timer *& aTimerPtr)
|
Error
|
PostEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
|
Error
การดำเนินการนี้จะโพสต์เหตุการณ์ / ข้อความประเภทที่ระบุพร้อมอาร์กิวเมนต์ที่ระบุลงในคิวเหตุการณ์เฉพาะแพลตฟอร์มของอินสแตนซ์นี้
|
PrepareSelect(int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
|
void
เตรียมชุดข้อบ่งชี้ไฟล์ที่จะให้
select() ใช้งาน |
ScheduleWork(TimerCompleteFunct aComplete, void *aAppState)
|
Error
กำหนดเวลาให้เรียกใช้ฟังก์ชันที่มีลายเซ็นเหมือนกับ
TimerCompleteFunct โดยเร็วที่สุดในชุดข้อความ Weave |
SetPlatformData(void *aPlatformData)
|
void
การดำเนินการนี้จะกำหนดข้อมูลแพลตฟอร์มเฉพาะลูกค้าที่ระบุไปยังอินสแตนซ์สำหรับดึงข้อมูลในภายหลังโดยแพลตฟอร์มไคลเอ็นต์
|
Shutdown(void)
|
Error
|
StartTimer(uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
|
Error
วิธีนี้จะเริ่มใช้ตัวจับเวลาแบบช็อตเดียว
|
State(void) const
|
LayerState
ซึ่งจะส่งคืนสถานะปัจจุบันของออบเจ็กต์เลเยอร์
|
WakeSelect(void)
|
void
ปลุกเทรด I/O ที่ตรวจสอบข้อบ่งชี้ไฟล์โดยใช้ select() โดยการเขียนไบต์เดี่ยวไปยังท่อ Wake
|
ฟังก์ชันสาธารณะแบบคงที่ |
|
---|---|
GetClock_Monotonic(void)
|
uint64_t
แสดงผลเวลาของระบบโมโนโทนิกในหน่วยไมโครวินาที
|
GetClock_MonotonicHiRes(void)
|
uint64_t
แสดงผลเวลาระบบโมโนโทนิกความละเอียดสูง (อาจเป็น) ในหน่วยไมโครวินาที
|
GetClock_MonotonicMS(void)
|
uint64_t
แสดงผลเวลาระบบโมโนโทนิกในหน่วยมิลลิวินาที
|
GetClock_RealTime(uint64_t & curTime)
|
Error
แสดงผลเวลาจริง (civil) ปัจจุบันในรูปแบบเวลา Unix ระดับไมโครวินาที
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
แสดงผลเวลาจริง (เมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
ตั้งค่าแนวคิดของแพลตฟอร์มเกี่ยวกับเวลาจริง (พลเมือง) ในปัจจุบัน
|
ประเภทสาธารณะ
EventHandler
Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)
TimerCompleteFunct
void(* TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)
ฟังก์ชันสาธารณะ
AddEventHandlerDelegate
Error AddEventHandlerDelegate( LwIPEventHandlerDelegate & aDelegate )
ซึ่งจะเพิ่มการมอบสิทธิ์ตัวแฮนเดิลเหตุการณ์ลงในเลเยอร์ของระบบเพื่อขยายความสามารถในการจัดการเหตุการณ์ LwIP
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
CancelTimer
void CancelTimer( TimerCompleteFunct aOnComplete, void *aAppState )
วิธีนี้จะยกเลิกตัวจับเวลาแบบครั้งเดียว โดยเริ่มตั้งแต่วันที่ StartTimer()
เป็นต้นไป
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
DispatchEvent
Error DispatchEvent( Event aEvent )
การดำเนินการนี้จะส่งเหตุการณ์ที่ระบุเพื่อจัดการโดยอินสแตนซ์นี้
การแยกประเภทและอาร์กิวเมนต์จากเหตุการณ์จะจัดการโดย Hook เฉพาะแพลตฟอร์ม ซึ่งจากนั้นระบบจะเรียกกลับไปที่ Layer::HandleEvent สำหรับการกระจายงานจริง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จแล้ว ไม่เช่นนั้น จะแสดงข้อผิดพลาดเฉพาะที่ระบุสาเหตุที่ทำให้การเริ่มต้นล้มเหลว
|
DispatchEvents
Error DispatchEvents( void )
นี่คือ Wrapper ของไวยากรณ์รอบๆ ฮุกเฉพาะแพลตฟอร์มที่ส่งผลต่อการวนซ้ำเหตุการณ์ รอคิวที่ให้บริการอินสแตนซ์นี้ จากนั้นดึงเหตุการณ์ออกจากคิว แล้วส่งไปจัดการ
รายละเอียด | |
---|---|
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จ ไม่เช่นนั้น จะแสดงข้อผิดพลาดเฉพาะที่ระบุสาเหตุที่ทำให้การเริ่มต้นล้มเหลว
|
GetPlatformData
void * GetPlatformData( void ) const
การดำเนินการนี้จะส่งคืนข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่กำหนดให้อินสแตนซ์ หากมีการตั้งค่าไว้ก่อนหน้านี้
รายละเอียด | |
---|---|
การคืนสินค้า |
ข้อมูลแพลตฟอร์มเฉพาะลูกค้า หากมีการตั้งค่าไว้ก่อนหน้านี้ หากไม่เป็นเช่นนั้น NULL
|
HandleEvent
Error HandleEvent( Object & aTarget, EventType aEventType, uintptr_t aArgument )
ซึ่งจะใช้งานการมอบหมายงานและการจัดการเหตุการณ์ Layer ของระบบ Weave ที่เกิดขึ้นจริง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
HandlePlatformTimer
Error HandlePlatformTimer( void )
จัดการเหตุการณ์การหมดอายุของตัวจับเวลาของแพลตฟอร์ม
เรียกใช้ nl::Weave::System::Timer::HandleExpirationTimers เพื่อจัดการตัวจับเวลาที่หมดอายุ โดยมีสมมติฐานว่าจะมีการเรียก API นี้เฉพาะขณะที่อยู่ในเทรดซึ่งเป็นเจ้าของออบเจ็กต์ Layer ของระบบ Weave เท่านั้น
รายละเอียด | |
---|---|
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จ มิฉะนั้นจะมีรหัสข้อผิดพลาด
|
HandleSelectResult
void HandleSelectResult( int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet )
จัดการ I/O จากการโทรที่เลือก
วิธีนี้จะบันทึกเหตุการณ์ I/O ที่รอดำเนินการในแต่ละปลายทางที่ใช้งานอยู่ แล้วเรียกใช้ฟังก์ชันการจัดการ I/O ที่เกี่ยวข้องสำหรับปลายทางเหล่านั้น
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
Init
Error Init( void *aContext )
เลเยอร์
Layer( void )
NewTimer
Error NewTimer( Timer *& aTimerPtr )
PostEvent
Error PostEvent( Object & aTarget, EventType aEventType, uintptr_t aArgument )
การดำเนินการนี้จะโพสต์เหตุการณ์ / ข้อความประเภทที่ระบุพร้อมอาร์กิวเมนต์ที่ระบุลงในคิวเหตุการณ์เฉพาะแพลตฟอร์มของอินสแตนซ์นี้
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
ผลลัพธ์ |
|
PrepareSelect
void PrepareSelect( int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime )
เตรียมชุดข้อบ่งชี้ไฟล์ที่จะให้ select()
ใช้งาน
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ScheduleWork
Error ScheduleWork( TimerCompleteFunct aComplete, void *aAppState )
กำหนดเวลาให้เรียกใช้ฟังก์ชันที่มีลายเซ็นเหมือนกับ TimerCompleteFunct
โดยเร็วที่สุดในชุดข้อความ Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
การดำเนินการนี้จะกำหนดข้อมูลแพลตฟอร์มเฉพาะลูกค้าที่ระบุไปยังอินสแตนซ์สำหรับดึงข้อมูลในภายหลังโดยแพลตฟอร์มไคลเอ็นต์
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ปิดการทำงาน
Error Shutdown( void )
StartTimer
Error StartTimer( uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState )
วิธีนี้จะเริ่มใช้ตัวจับเวลาแบบช็อตเดียว
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การคืนสินค้า |
WEAVE_SYSTEM_NO_ERROR สำเร็จแล้ว
|
||||||
การคืนสินค้า |
WEAVE_SYSTEM_ERROR_NO_MEMORY หากจัดสรรตัวจับเวลาไม่ได้
|
||||||
การคืนสินค้า |
ค่าอื่นๆ ที่ระบุว่าเริ่มตัวจับเวลาไม่สำเร็จ
|
รัฐ
LayerState State( void ) const
ซึ่งจะส่งคืนสถานะปัจจุบันของออบเจ็กต์เลเยอร์
WakeSelect
void WakeSelect( void )
ปลุกเทรด I/O ที่ตรวจสอบข้อบ่งชี้ไฟล์โดยใช้ select() โดยการเขียนไบต์เดี่ยวไปยังท่อ Wake
หมายเหตุ: หากมีการเรียก WakeSelect()
จากภายใน HandleSelectResult()
คุณสามารถข้ามการเขียนไปยัง Wake Pipe ได้ เนื่องจากเทรด I/O ทำงานอยู่แล้ว
นอกจากนี้ เราไม่สนใจว่าการเขียนนี้ล้มเหลวหรือไม่ เนื่องจากเป็นไปได้อย่างเหตุเดียวที่อาจจะล้มเหลวคือท่อเต็ม ซึ่งในกรณีนี้เทรดการเรียกที่เลือกจะยังคงทำงาน
ฟังก์ชันสาธารณะแบบคงที่
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
แสดงผลเวลาของระบบโมโนโทนิกในหน่วยไมโครวินาที
ฟังก์ชันนี้แสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง เรารับประกันว่าค่าที่แสดงผลจะเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่รวมอยู่ด้วย) ระหว่างการรีบูตระบบ นอกจากนี้ ยังรับประกันแหล่งที่มาของเวลาที่จะให้แสดงอย่างต่อเนื่องระหว่างที่อยู่ในโหมดสลีปของระบบซึ่งไม่ส่งผลให้เกิดการรีสตาร์ทเมื่อปลุกระบบ
แม้ว่าบางแพลตฟอร์มอาจเลือกแสดงผลค่าที่วัดระยะเวลานับตั้งแต่เปิดเครื่อง แต่แอปพลิเคชันก็ไม่ได้อาศัยข้อมูลนี้ นอกจากนี้ ค่า Epoch ของ GetClock_Monotonic() จะไม่ต้องเหมือนกับ Epoch สําหรับฟังก์ชัน GetClock... อื่นๆ ดังนั้นการคำนวณเวลาสัมพัทธ์จึงทำได้กับค่าที่ฟังก์ชันเดียวกันส่งกลับเท่านั้น
ฟังก์ชันนี้รับประกันว่าจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
แสดงผลเวลาระบบโมโนโทนิกความละเอียดสูง (อาจเป็น) ในหน่วยไมโครวินาที
ฟังก์ชันนี้แสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง เรารับประกันว่าค่าที่แสดงผลจะเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่รวมอยู่ด้วย) ระหว่างการรีบูตระบบ อย่างไรก็ตาม คุณไม่จำเป็นต้องมีตัวจับเวลาถอยหลังเพื่อทำเครื่องหมายต่อเนื่องระหว่างที่อยู่ในโหมด Deep Link ของระบบ
บางแพลตฟอร์มอาจใช้งาน GetClock_MonotonicHiRes() โดยใช้ตัวจับเวลาที่มีความละเอียดสูงซึ่งมีความแม่นยํามากกว่า GetClock_Monotonic() และไม่ได้ขึ้นอยู่กับการปรับนาฬิกาทีละน้อย (การแกว่ง) ระบบที่ไม่มีตัวจับเวลาดังกล่าวอาจแสดงผลค่าเดียวกับ GetClock_Monotonic()
Epoch ของเวลาที่ GetClock_MonotonicHiRes() แสดงผล ไม่จำเป็นต้องเหมือนกับ Epoch สำหรับฟังก์ชัน GetClock... อื่นๆ รวมถึง GetClock_Monotonic()
ฟังก์ชันนี้รับประกันว่าจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
แสดงผลเวลาระบบโมโนโทนิกในหน่วยมิลลิวินาที
ฟังก์ชันนี้แสดงผลเวลาที่ผ่านไปเป็นมิลลิวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง เรารับประกันว่าค่าที่แสดงผลจะเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่รวมอยู่ด้วย) ระหว่างการรีบูตระบบ นอกจากนี้ ยังรับประกันแหล่งที่มาของเวลาที่จะให้แสดงอย่างต่อเนื่องระหว่างที่อยู่ในโหมดสลีปของระบบซึ่งไม่ส่งผลให้เกิดการรีสตาร์ทเมื่อปลุกระบบ
แม้ว่าบางแพลตฟอร์มอาจเลือกแสดงผลค่าที่วัดระยะเวลานับตั้งแต่เปิดเครื่อง แต่แอปพลิเคชันก็ไม่ได้อาศัยข้อมูลนี้ นอกจากนี้ ค่า Epoch ของ GetClock_Monotonic() จะไม่ต้องเหมือนกับ Epoch สําหรับฟังก์ชัน GetClock... อื่นๆ ดังนั้นการคำนวณเวลาสัมพัทธ์จึงทำได้กับค่าที่ฟังก์ชันเดียวกันส่งกลับเท่านั้น
ฟังก์ชันนี้รับประกันว่าจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปเป็นมิลลิวินาทีนับตั้งแต่ Epoch ที่แพลตฟอร์มกําหนดเอง
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
แสดงผลเวลาจริง (civil) ปัจจุบันในรูปแบบเวลา 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 ที่ปรับขนาดเป็นมิลลิวินาที นาฬิกาที่ทำงานอยู่เบื้องหลังรับประกันว่าจะแสดงที่อัตราอย่างน้อย 1 วินาที (ค่า 1,000,000) แต่ในบางแพลตฟอร์มอาจทำเครื่องหมายได้เร็วกว่า
หากแพลตฟอร์มพื้นฐานสามารถติดตามแบบเรียลไทม์ได้ แต่ขณะนี้ระบบไม่ซิงค์ GetClock_RealTimeMS() จะแสดงข้อผิดพลาด WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
บนแพลตฟอร์มที่ติดตามแบบเรียลไทม์ไม่ได้ ระบบอาจไม่แสดงเมธอด GetClock_RealTimeMS() ซึ่งทำให้เกิดข้อผิดพลาดเกี่ยวกับลิงก์สำหรับแอปพลิเคชันที่อ้างอิงเครื่องมือดังกล่าว อีกทางเลือกหนึ่งคือ แพลตฟอร์มดังกล่าวอาจรองรับการใช้งาน GetClock_RealTimeMS() ที่แสดงข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED เสมอ
ฟังก์ชันนี้รับประกันว่าจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
ตั้งค่าแนวคิดของแพลตฟอร์มเกี่ยวกับเวลาจริง (พลเมือง) ในปัจจุบัน
แอปพลิเคชันสามารถเรียกใช้ฟังก์ชันนี้เพื่อกำหนดแนวคิดของแพลตฟอร์มท้องถิ่นแบบเรียลไทม์ได้ เวลาปัจจุบันใหม่จะแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที
เมื่อตั้งค่าแล้ว นาฬิกาแพลตฟอร์มที่สำคัญจะได้รับการรับประกันว่าจะติดตามแบบเรียลไทม์ซึ่งมีรายละเอียดเป็นวินาทีเป็นอย่างน้อย
บางแพลตฟอร์มอาจจำกัดแอปพลิเคชันหรือกระบวนการที่ตั้งค่าแบบเรียลไทม์ได้ หากไม่ได้รับอนุญาตให้เปลี่ยนแบบเรียลไทม์ ฟังก์ชัน SetClock_RealTime() จะแสดงผลข้อผิดพลาด WEAVE_SYSTEM_ERROR_ACCESS_DENIED
บนแพลตฟอร์มที่สามารถติดตามแบบเรียลไทม์ไม่ได้ หรือไม่มีความสามารถในการตั้งค่าแบบเรียลไทม์ อาจไม่มีฟังก์ชัน SetClock_RealTime() อยู่ ซึ่งทำให้เกิดข้อผิดพลาดในลิงก์ของแอปพลิเคชันที่อ้างอิงฟังก์ชันดังกล่าว อีกทางเลือกหนึ่งคือ แพลตฟอร์มดังกล่าวอาจติดตั้งใช้งาน SetClock_RealTime() ที่แสดงข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED เสมอ
ฟังก์ชันนี้รับประกันว่าจะปลอดภัยของชุดข้อความในแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|