ไม่มี:: สาน:: โปรไฟล์:: เวลา:: SingleSourceTimeSyncClient

สรุป

ประเภทสาธารณะ

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
enum
สถานะปัจจุบันของไคลเอ็นต์การซิงค์เวลานี้
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
โทรกลับหลังจากพยายามซิงค์ทั้งสองครั้งแล้วเสร็จ
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
โทรกลับเพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

ประเภทที่ได้รับการป้องกัน

@324 enum

คุณลักษณะสาธารณะ

OnTimeChangeNotificationReceived

คุณสมบัติที่ได้รับการป้องกัน

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
ใช้เก็บเวลาเที่ยวบินเที่ยวเดียว
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
ใช้เก็บ Timestamp เมื่อลงทะเบียนผลลัพธ์
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)

โทรกลับหลังจากพยายามซิงค์ทั้งสองครั้งแล้วเสร็จ

ถ้า aErrorCode เป็น WEAVE_NO_ERROR อย่างน้อยหนึ่งครั้งก็สำเร็จ มิฉะนั้นทั้งคู่ล้มเหลวที่ aErrorCode บ่งชี้ถึงความล้มเหลวล่าสุด

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aErrorCode
WEAVE_NO_ERROR ถ้าการดำเนินการอย่างน้อยหนึ่งเวลาซิงค์จะประสบความสำเร็จ
[in] aCorrectedSystemTime
ใช้ได้เฉพาะถ้าเป็น aErrorCode WEAVE_NO_ERROR

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)

โทรกลับเพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

ตั้ง NULL ที่ Init หากไม่ตั้งค่า การแจ้งเตือนการเปลี่ยนแปลงเวลาจะถูกละเว้น เลเยอร์แอปได้รับอนุญาตให้โทรยกเลิกและซิงค์ในการโทรกลับนี้

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aEC
บริบทการแลกเปลี่ยนที่ใช้สำหรับข้อความที่เข้ามานี้ ซึ่งสามารถใช้เพื่อตรวจสอบความถูกต้องได้

ประเภทที่ได้รับการป้องกัน

@324

 @324

คุณลักษณะสาธารณะ

ได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

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

ใช้เก็บ Timestamp เมื่อลงทะเบียนผลลัพธ์

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 เริ่มต้นข้อมูลภายในทั้งหมดและลงทะเบียนด้วยการแจ้งเตือนการเปลี่ยนแปลงเวลา

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลชั้นที่สูงกว่า ใช้ในการเรียกกลับไปยังชั้นที่สูงกว่า
[in] aExchangeMgr
ตัวชี้ไปยัง Exchange Manager ซึ่งจะใช้ในการลงทะเบียนสำหรับตัวจัดการข้อความแจ้งเตือนการเปลี่ยนแปลงเวลา
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

ซิงค์

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

ซิงค์ใช้ที่ได้รับ การผูก และทำให้การเรียกกลับใช้ตัวชี้ที่ให้ไว้

หากมีการซิงโครไนซ์เวลาเกิดขึ้น จะถูกยกเลิกโดยปริยายโดยไม่ต้องโทรกลับ ไม่พร้อมใช้งานในการโทรกลับ OnSyncCompleted แต่อนุญาตใน OnTimeChangeNotificationReceived หากเกิดข้อผิดพลาด ระบบจะเรียก Abort โดยปริยายก่อนกลับจากฟังก์ชันนี้

รายละเอียด
พารามิเตอร์
[in] aBinding
ผูกพัน ที่จะใช้ในการติดต่อกับเซิร์ฟเวอร์เวลา
[in] OnSyncCompleted
ฟังก์ชันเรียกกลับที่จะใช้หลังจากการซิงค์เวลาเสร็จสิ้น
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

ฟังก์ชันที่ได้รับการป้องกัน

EnterSync2

void EnterSync2(
  void
)

การประมวลผลขั้นสุดท้าย

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
)