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

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

אם 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. אם המדיניות לא מוגדרת, המערכת תתעלם מהתראה על שינוי זמן. לשכבת האפליקציה מותר לקרוא ל'ביטול ולסנכרון' בקריאה החוזרת (callback).

פרטים
פרמטרים
[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 Manager, שישמש לרישום ל-handler של הודעות על שינוי זמן
החזרות
WEAVE_NO_ERROR בהצלחה

סנכרון

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

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

אם מתבצעת פעולת סנכרון זמן, היא תבוטל באופן לא מפורש בלי לבצע קריאה חוזרת. לא זמינה ב-callback OnSync completed, אבל מותרת ב-OnTimeChangeNotificationReceived . בטעות, תתבצע קריאה מרומזת של Abort לפני החזרה מהפונקציה הזו.

פרטים
פרמטרים
[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
)