nl::Weave::Profiles::Time::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(*
קריאה חוזרת (callback) אחרי ששני ניסיונות הסנכרון הושלמו.
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
משמשת לאחסון חותמת זמן כשתוצאה נרשמת
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)

קריאה חוזרת (callback) אחרי ששני ניסיונות הסנכרון הושלמו.

אם aErrorCode הוא WEAVE_NO_ERROR, לפחות ניסיון אחד הצליח. אחרת, שתיהן נכשלו ב-aErrorCode מצביעות על הכשל האחרון.

פרטים
פרמטרים
[in] aApp
מצביע לנתונים של שכבת אפליקציה, המוגדרים ב-Init.
[in] aErrorCode
WEAVE_NO_ERROR אם פעולת סנכרון חד-פעמית לפחות הצליחה
[in] aCorrectedSystemTime
חוקי רק אם קוד השגיאה הוא WEAVE_NO_ERROR

TimeChangeNotificationHandler

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

התקשרות חזרה כדי לציין שקיבלנו עכשיו התראה על שינוי זמן.

צריך להגדיר את הערך NULL ב-Init. אם המדיניות לא מוגדרת, המערכת תתעלם מהתראה על שינוי זמן. שכבת האפליקציה יכולה לבצע קריאה ל'ביטול' ול'סנכרון' בקריאה החוזרת הזו.

פרטים
פרמטרים
[in] aApp
מצביע לנתונים של שכבת אפליקציה, המוגדרים ב-Init.
[in] aEC
ההקשר של Exchange המשמש לשליחת ההודעה הנכנסת, וניתן להשתמש בו כדי לאמת את האותנטיות שלה

סוגים מוגנים

@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
)

הפעלה של הלקוח הזה.

הן חייבות לפעול כדי שניתן יהיה להשתמש בפונקציות אחרות. אפס/NULL מאתחל את כל הנתונים הפנימיים ונרשם עם 'התראה על שינוי זמן'.

פרטים
פרמטרים
[in] aApp
מצביע לנתונים בשכבה גבוהה יותר, המשמש בקריאות חוזרות לשכבה גבוהה יותר.
[in] aExchangeMgr
מצביע אל מנהל Exchange, שישמש בהרשמה ל-handler של הודעות על שינוי זמן
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

סנכרון

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

סנכרון באמצעות קישור הקישור הנתון ומבצע התקשרות חזרה באמצעות הסמן שסופק.

אם מתבצעת פעולה של סנכרון זמן, היא תבוטל באופן לא מפורש מבלי לבצע קריאה חוזרת (callback). התכונה לא זמינה בקריאה החוזרת (callback) הושלמה, אך היא מותרת ב- OnTimeChangeNotificationReceived . במקרה של שגיאה, הביטול ייקרא באופן לא מפורש לפני החזרה מהפונקציה הזו.

פרטים
פרמטרים
[in] aBinding
קישור שישמש ליצירת קשר עם שרת הזמן
[in] OnSyncCompleted
פונקציית קריאה חוזרת לשימוש אחרי שפעולות הסנכרון הושלמו
החזרות
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
)