nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
สรุป
ประเภทสาธารณะ |
|
---|---|
ClientState{
|
enum สถานะปัจจุบันของไคลเอ็นต์การซิงค์เวลานี้ |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
ติดต่อกลับหลังจากพยายามซิงค์เวลาทั้ง 2 ครั้งเรียบร้อยแล้ว |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
โทรกลับเพื่อแจ้งว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา |
ประเภทที่ได้รับการป้องกัน |
|
---|---|
@324
|
enum |
แอตทริบิวต์สาธารณะ |
|
---|---|
OnTimeChangeNotificationReceived
|
แอตทริบิวต์ที่ได้รับการปกป้อง |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
ใช้ในการจัดเก็บเวลาของเที่ยวบินเที่ยวเดียว
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
ใช้เพื่อจัดเก็บการประทับเวลาเมื่อบันทึกผลลัพธ์แล้ว
|
mRemoteTimestamp_usec
|
timesync_t
ที่ใช้จัดเก็บเวลาของระบบของโหนดระยะไกล เมื่อข้อความตอบกลับกำลังจะส่งข้อความ
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
ฟังก์ชันสาธารณะ |
|
---|---|
Abort(void)
|
void
ล้มเลิกการซิงค์เวลาปัจจุบัน
|
GetClientState(void) const
|
เรียกดูสถานะปัจจุบันของไคลเอ็นต์นี้
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
เริ่มต้นไคลเอ็นต์นี้
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
ซิงค์โดยใช้การเชื่อมโยงที่กำหนด และทำการเรียกกลับโดยใช้ตัวชี้ที่ระบุ
|
ฟังก์ชันที่มีการป้องกัน |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
ทำให้ข้อมูลที่ลงทะเบียนเป็นโมฆะเพื่อการแก้ไขเวลา
|
IsRegisteredResultValid(void)
|
bool
ตรวจสอบว่าข้อมูลที่ลงทะเบียนสำหรับการแก้ไขเวลาถูกต้อง
|
OnResponseTimeout(void)
|
void
|
OnSyncResponse(uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
ProceedToNextState(void)
|
void
|
RegisterSyncResultIfNewOrBetter(const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
|
void
|
SendSyncRequest(void)
|
|
SetClientState(const ClientState state)
|
void
|
_AbortWithCallback(const WEAVE_ERROR aErrorCode)
|
void
|
ฟังก์ชันแบบคงที่ที่มีการป้องกัน |
|
---|---|
HandleResponseTimeout(ExchangeContext *aEC)
|
void
|
HandleSyncResponse(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
HandleTimeChangeNotification(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
ประเภทสาธารณะ
ClientState
ClientState
สถานะปัจจุบันของไคลเอ็นต์การซิงค์เวลานี้
พร็อพเพอร์ตี้ | |
---|---|
kClientState_Idle
|
เริ่มต้นแล้ว กำลังรอการแจ้งเตือนการเปลี่ยนแปลงเวลา แต่ไม่มีการซิงค์เวลาเกิดขึ้น |
kClientState_Sync_1
|
กำลังดำเนินการกับการพยายามซิงค์ครั้งแรก |
kClientState_Sync_2
|
กำลังดำเนินการกับการพยายามซิงค์ครั้งที่สอง |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
ติดต่อกลับหลังจากพยายามซิงค์เวลาทั้ง 2 ครั้งเรียบร้อยแล้ว
หาก aErrorCode คือ WEAVE_NO_ERROR แสดงว่ามีการพยายามอย่างน้อย 1 ครั้งที่สำเร็จ มิเช่นนั้น ทั้ง 2 รายการล้มเหลวที่ aErrorCode แสดงว่ามีการล้มเหลวครั้งล่าสุด
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
โทรกลับเพื่อแจ้งว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา
ตั้งค่าเป็น NULL ที่ Init หากไม่ได้ตั้งค่า ระบบจะไม่พิจารณาการแจ้งเตือนการเปลี่ยนแปลงเวลา เลเยอร์ของแอปได้รับอนุญาตให้เรียกใช้ "ล้มเลิกและซิงค์" ในโค้ดเรียกกลับนี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ประเภทที่ได้รับการป้องกัน
@324
@324
แอตทริบิวต์สาธารณะ
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
แอตทริบิวต์ที่ได้รับการปกป้อง
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
ใช้ในการจัดเก็บเวลาของเที่ยวบินเที่ยวเดียว
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
ใช้เพื่อจัดเก็บการประทับเวลาเมื่อบันทึกผลลัพธ์แล้ว
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
ที่ใช้จัดเก็บเวลาของระบบของโหนดระยะไกล เมื่อข้อความตอบกลับกำลังจะส่งข้อความ
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
ฟังก์ชันสาธารณะ
ล้มเลิก
void Abort( void )
ล้มเลิกการซิงค์เวลาปัจจุบัน
ปล่อยการเชื่อมโยง ล้มเลิกการแลกเปลี่ยนที่ใช้งานอยู่ เปลี่ยนกลับไปยังสถานะไม่มีการใช้งาน
GetClientState
ClientState GetClientState( void ) const
เรียกดูสถานะปัจจุบันของไคลเอ็นต์นี้
รายละเอียด | |
---|---|
การส่งคืน |
สถานะปัจจุบัน
|
เริ่มต้น
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
เริ่มต้นไคลเอ็นต์นี้
ต้องเรียกใช้ก่อนจึงจะใช้ฟังก์ชันอื่นๆ ได้ Zero/NULL จะเริ่มต้นข้อมูลภายในของทั้งหมดและลงทะเบียนกับการแจ้งเตือนการเปลี่ยนแปลงเวลา
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
WEAVE_NO_ERROR เกี่ยวกับความสำเร็จ
|
ซิงค์
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
ซิงค์โดยใช้การเชื่อมโยงที่กำหนด และทำการเรียกกลับโดยใช้ตัวชี้ที่ระบุ
หากมีการดำเนินการซิงค์เวลา การดำเนินการดังกล่าวจะถูกยกเลิกโดยปริยายโดยไม่มีการเรียกกลับ ไม่มีใน callback OnSyncComplete แต่อนุญาตใน OnTimeChangeNotificationReceived เมื่อมีข้อผิดพลาด ระบบจะเรียกใช้ "ยกเลิก" โดยปริยายก่อนส่งคืนจากฟังก์ชันนี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
WEAVE_NO_ERROR ในความสำเร็จ
|
ฟังก์ชันที่มีการป้องกัน
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
ทำให้ข้อมูลที่ลงทะเบียนเป็นโมฆะเพื่อการแก้ไขเวลา
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
ตรวจสอบว่าข้อมูลที่ลงทะเบียนสำหรับการแก้ไขเวลาถูกต้อง
OnResponseTimeout
void OnResponseTimeout( void )
OnSyncResponse
void OnSyncResponse( uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
ProceedToNextState
void ProceedToNextState( void )
RegisterSyncResultIfNewOrBetter
void RegisterSyncResultIfNewOrBetter( const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec )
SendSyncRequest
WEAVE_ERROR SendSyncRequest( void )
SetClientState
void SetClientState( const ClientState state )
_AbortWithCallback
void _AbortWithCallback( const WEAVE_ERROR aErrorCode )
ฟังก์ชันแบบคงที่ที่มีการป้องกัน
HandleResponseTimeout
void HandleResponseTimeout( ExchangeContext *aEC )
HandleSyncResponse
void HandleSyncResponse( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )