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 Pie
|
ฟังก์ชันแบบคงที่แบบสาธารณะ |
|
---|---|
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 ในหน่วยมิลลิวินาที
|
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 ที่เกี่ยวข้องสำหรับปลายทางเหล่านั้น
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
เริ่มต้น
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 Pie
หมายเหตุ: หากมีการเรียก WakeSelect()
จากภายใน HandleSelectResult()
คุณจะข้ามการเขียนไปยัง Wake pipe ได้ เนื่องจากเทรด I/O เริ่มทำงานแล้ว
นอกจากนี้ เราไม่สนใจว่าการเขียนนี้จะไม่สำเร็จหรือไม่ เนื่องจากเป็นไปได้อย่างยิ่งที่จะดำเนินการไม่สำเร็จเพราะไปป์ไลน์เต็มแล้ว ซึ่งในกรณีนี้ชุดข้อความการเรียกใช้ที่เลือกจะทำงานอยู่ต่อไป
ฟังก์ชันแบบคงที่แบบสาธารณะ
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
จะแสดงผลเวลาของระบบโมโนโทนิคเป็นหน่วยไมโครวินาที
ฟังก์ชันนี้จะแสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม ระบบรับประกันได้ว่าค่าที่ส่งคืนจะมีค่าเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่ตัดคำขึ้นบรรทัดใหม่) ระหว่างการรีบูตระบบ นอกจากนี้ ระบบรับประกันแหล่งที่มาของเวลาที่อยู่เบื้องหลังจะทำเครื่องหมายอย่างต่อเนื่องในโหมดสลีปของระบบใดๆ ที่ไม่ได้มีการรีสตาร์ทเมื่อปลุกระบบ
แม้ว่าบางแพลตฟอร์มอาจเลือกแสดงผลค่าที่วัดระยะเวลานับตั้งแต่เปิดเครื่องระบบ แต่แอปพลิเคชันต้องไม่อาศัยข้อมูลนี้ นอกจากนี้ Epoch ของ GetClock_Monotonic() ยังไม่จำเป็นต้องเหมือนกันกับฟังก์ชัน GetClock อื่นๆ... ดังนั้นการคํานวณเวลาสัมพัทธ์จะดําเนินการกับค่าที่แสดงผลโดยฟังก์ชันเดียวกันเท่านั้น
ฟังก์ชันนี้รับประกันได้ว่าเทรดจะปลอดภัยบนแพลตฟอร์มทุกแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การส่งคืน |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
จะแสดงผลเวลาของระบบโมโนโทนิกความละเอียดสูง (อาจ) เป็นหน่วยไมโครวินาที
ฟังก์ชันนี้จะแสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม ระบบรับประกันได้ว่าค่าที่ส่งคืนจะมีค่าเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่ตัดคำขึ้นบรรทัดใหม่) ระหว่างการรีบูตระบบ แต่ไม่จำเป็นต้องใช้ตัวจับเวลาที่อยู่เบื้องหลังเพื่อทำเครื่องหมายอย่างต่อเนื่องในช่วงสถานะหลับลึกของระบบ
บางแพลตฟอร์มอาจใช้ GetClock_MonotonicHiRes() โดยใช้ตัวจับเวลาความละเอียดสูงที่แม่นยํากว่า GetClock_Monotonic() และไม่ได้มีการปรับนาฬิกาทีละน้อย (ช้าลง) ระบบที่ไม่มีตัวจับเวลาดังกล่าวอาจส่งคืนค่าเดียวกับ GetClock_Monotonic()
Epoch สำหรับเวลาที่แสดงผลโดย GetClock_MonotonicHiRes() ไม่จำเป็นต้องเหมือนกับสำหรับฟังก์ชัน GetClock อื่นๆ รวมถึง GetClock_Monotonic()
ฟังก์ชันนี้รับประกันได้ว่าเทรดจะปลอดภัยบนแพลตฟอร์มทุกแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การส่งคืน |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
จะแสดงผลเวลาของระบบแบบโมโนโทนิกในหน่วยมิลลิวินาที
ฟังก์ชันนี้แสดงผลเวลาที่ผ่านไปในหน่วยมิลลิวินาที เนื่องจาก Epoch ที่กำหนดเองตามแพลตฟอร์ม ระบบรับประกันได้ว่าค่าที่ส่งคืนจะมีค่าเพิ่มขึ้นตลอดเวลา (กล่าวคือ ไม่ตัดคำขึ้นบรรทัดใหม่) ระหว่างการรีบูตระบบ นอกจากนี้ ระบบรับประกันแหล่งที่มาของเวลาที่อยู่เบื้องหลังจะทำเครื่องหมายอย่างต่อเนื่องในโหมดสลีปของระบบใดๆ ที่ไม่ได้มีการรีสตาร์ทเมื่อปลุกระบบ
แม้ว่าบางแพลตฟอร์มอาจเลือกแสดงผลค่าที่วัดระยะเวลานับตั้งแต่เปิดเครื่องระบบ แต่แอปพลิเคชันต้องไม่อาศัยข้อมูลนี้ นอกจากนี้ Epoch ของ GetClock_Monotonic() ยังไม่จำเป็นต้องเหมือนกันกับฟังก์ชัน GetClock อื่นๆ... ดังนั้นการคํานวณเวลาสัมพัทธ์จะดําเนินการกับค่าที่แสดงผลโดยฟังก์ชันเดียวกันเท่านั้น
ฟังก์ชันนี้รับประกันได้ว่าเทรดจะปลอดภัยบนแพลตฟอร์มทุกแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |
---|---|
การส่งคืน |
เวลาที่ผ่านไปในหน่วยมิลลิวินาทีตั้งแต่ 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 ที่ปรับขนาดเป็นมิลลิวินาที ระบบรับประกันได้ว่านาฬิกาจะทำงานที่อัตราอย่างน้อย 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 เสมอ
ฟังก์ชันนี้รับประกันได้ว่าเทรดจะปลอดภัยบนแพลตฟอร์มทุกแพลตฟอร์มที่ใช้การแยกชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|