nl:: Weave:: Profiles:: Time:: TimeSyncNode
סיכום
ירושה
עובר בירושה מ: nl::Weave::Profiles::Time::_TimeSyncNodeBase
בנייה |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
במצב של תכונת הסנכרון האוטומטי.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
להקשר של התקשורת.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
פונקציות המעבר של המצבים האלה הן פנימיות ולא יכולות להחזיר קוד שגיאה, כי המצב הקודם לא היה מוביל לטיפול בהן.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
סוגים ציבוריים |
|
---|---|
ClientState
|
טיפוסים בני מנייה (enum) המצב הנוכחי של לקוח סנכרון הזמן הזה |
CommState
|
טיפוסים בני מנייה (enum) סטטוס התקשורת של איש קשר מסוים. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
הקריאה החוזרת (callback) מתרחשת ממש לפני שאנחנו מחשבים את תיקון הזמן מתשובות. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
כדי לציין שקיבלנו בקשה לסנכרון זמן. |
ResponseStatus
|
טיפוסים בני מנייה (enum) של תשובה שנשמרה לאיש קשר מסוים. |
ServerState{
|
טיפוסים בני מנייה (enum) המצב הנוכחי של שרת סנכרון הזמן הזה |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
הקריאה החוזרת (callback) מתרחשת כאשר הסנכרון נחשב כנכשל, כולל סנכרון אוטומטי. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
קריאה חוזרת (callback) מתרחשת אחרי שהסנכרון נחשב למוצלח, כולל סנכרון אוטומטי, אבל לפני החלת התוצאה. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
כדי לציין שקיבלנו התראה על שינוי זמן. |
מאפיינים ציבוריים |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
אם המדיניות לא מוגדרת, הטמעת ברירת המחדל תמיד מחזירה את הערך True
|
OnSyncSucceeded
|
אם המדיניות לא מוגדרת, התנהגות ברירת המחדל מקבלת את כל התוצאות, מלבד תיקונים קטנים מאוד בשרת
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
שיטת הצפנה לתקשורת מקומית
|
mKeyId
|
uint16_t
מזהה מפתח שמשמש לתקשורת מקומית
|
מאפיינים מוגנים |
|
---|---|
mApp
|
void *
מצביע על נתוני שכבה גבוהה יותר
|
mClientState
|
|
mConnectionToService
|
חיבור TCP שמשמש לצורך שיחה עם השירות.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
פרטים ליצירת קשר שנלמדו במהלך הגילוי.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
אם אנחנו בקריאה חוזרת לשכבה גבוהה יותר
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
התפקיד בפועל של הצומת הזה.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
לתשומת ליבך, זה צריך להיות בזמן האתחול, כי אנחנו צריכים תגמול על זמן השינה
|
mTimestampLastLocalSync_usec
|
timesync_t
לתשומת ליבך, זה צריך להיות בזמן האתחול, כי אנחנו צריכים תגמול על זמן השינה
|
פונקציות ציבוריות |
|
---|---|
Abort(void)
|
לאלץ את המנוע לחזור למצב לא פעיל, ולבטל את הפעולה שהוא עושה.
|
DisableAutoSync(void)
|
void
השבתת הסנכרון האוטומטי.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
הפעלת הסנכרון האוטומטי.
|
GetCapacityOfContactList(void) const
|
int
מקש geter פשוט למספר המקסימלי של אנשי קשר שהמנוע הזה מוגדר לאחסן
|
GetClientState(void) const
|
מקש getter פשוט למצב הלקוח
|
GetNextLikelihood(void) const
|
int8_t
לחלץ את הסבירות לקבוע.
|
GetServerState(void) const
|
מקש geter פשוט למצב השרת
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
צריך לאתחל את הלקוח הזה.
|
InitCoordinator(nl::Weave::WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
לאתחל את המתאם הזה.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
אתחול לתפקיד שרת צריך להיקרא כפונקציה הראשונה לאחר בניית האובייקט, אם הכוונה היא להיות שרת לסנכרון זמן.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
מופעל על ידי שכבה גבוהה יותר להתראה על שינוי זמן בריבוי שידורים.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
נשלחה קריאה על ידי שכבה גבוהה יותר כדי לציין שסיימנו עכשיו סבב סנכרון עם שרת כלשהו או דרך אמצעים אמינים כמו NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
נשלחה קריאה על ידי שכבה גבוהה יותר כדי לציין שסיימנו עכשיו את סבב הסנכרון עם מתאמים מקומיים אחרים.
|
Shutdown(void)
|
לעצור את השירות, ללא קשר לתפקיד שעליו הוא ממלא.
|
Sync(const bool aForceDiscoverAgain)
|
לסנכרן באמצעות אנשי קשר קיימים.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
לבצע סנכרון באמצעות רשימת אנשי הקשר הנתונה.
|
SyncWithService(WeaveConnection *const aConnection)
|
לסנכרן באמצעות חיבור ה-TCP הנתון וההצפנה ומזהה המפתח המשויכים.
|
פונקציות מוגנות |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
ביטול פנימי אם ה-aCode אינו WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
פונקציה פנימית כדי להתחיל סשן של סנכרון אוטומטי
|
CallbackForSyncCompletion(const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec)
|
יובילו לקריאה חוזרת (callback) לשכבת האפליקציה.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
סוגרים את ExchangeContext של Weave
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
להחזיר משבצת כדי לשמור פרטים ליצירת קשר
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
איש הקשר הבא, תקין ולא פעיל, שאפשר לדבר איתו
|
GetNumNotYetCompletedContacts(void)
|
int16_t
מקבלים את מספר אנשי הקשר התקינים, אבל עוד לא דיברנו איתם.
|
GetNumReliableResponses(void)
|
int16_t
מקבלים את מספר תגובות שנאספו עד עכשיו.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
לבטל את התוקף של כל אנשי הקשר המקומיים
|
InvalidateServiceContact(void)
|
void
ביטול התוקף של איש הקשר לשירות
|
RegisterCommError(Contact *const aContact)
|
void
לתעד שגיאת תקשורת עם איש קשר מסוים ולקצר את תקופת הגילוי האוטומטי במקרה הצורך, כך שאיש הקשר יכול להיות NULL כדי לציין שאין לנו עם מי לדבר, ולקצר את פרק הזמן של הגילוי האוטומטי
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
שליחת בקשה לסנכרון unicast לאיש קשר.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
לאפס שוב את כל אנשי הקשר שהושלמו למצב לא פעיל, אבל לא לגעת בתגובה.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
להגדיר את כל אנשי הקשר המקומיים החוקיים למצב לא פעיל ולנקות את התגובה.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
יצירת Weave Exchange חדש לתקשורת unicast
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
אחסון הפרטים ליצירת קשר של צומת ששלח לנו התראה על שינוי זמן
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
לעבד תשובה שחוזרת מבקשה של Multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
לעבד תגובה שחוזרת מבקשת unicast
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
להפעיל את התפקיד 'לקוח'.
|
_InitServer(const bool aIsAlwaysFresh)
|
לבצע אתחול לתפקיד 'שרת'.
|
_ShutdownClient(void)
|
הפסקת הלקוח לא זמין בקריאות חוזרות (callback).
|
_ShutdownCoordinator(void)
|
שהמתאם לא זמין בקריאות חוזרות (callback).
|
_ShutdownServer(void)
|
השרת לא זמין בקריאות חוזרות (callback).
|
פונקציות סטטיות מוגנות |
|
---|---|
HandleAutoDiscoveryTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleAutoSyncTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleMulticastResponseTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleMulticastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleSyncRequest(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
קריאה חוזרת (callback) מ-Weave Exchange כאשר מתקבלת בקשת סנכרון זמן
|
HandleTimeChangeNotification(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleUnicastResponseTimeout(ExchangeContext *const ec)
|
void
|
HandleUnicastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleUnreliableAfterBootTimer(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
קריאה חוזרת (callback) מטיימר של Weave כשעברנו את השלב הלא מהימן לאחר מחסום האתחול
|
IsOperationalState(ClientState aState)
|
bool
החליטו אם מצב נתון הוא פעיל.
|
_OnSyncSucceeded(void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
bool
|
mBootTimeForNextAutoDiscovery_usec
timesync_t mBootTimeForNextAutoDiscovery_usec
mIsAutoSyncEnabled
bool mIsAutoSyncEnabled
במצב של תכונת הסנכרון האוטומטי.
mIsUrgentDiscoveryPending
bool mIsUrgentDiscoveryPending
mNominalDiscoveryPeriod_msec
int32_t mNominalDiscoveryPeriod_msec
mShortestDiscoveryPeriod_msec
int32_t mShortestDiscoveryPeriod_msec
mSyncPeriod_msec
int32_t mSyncPeriod_msec
mExchangeContext
ExchangeContext * mExchangeContext
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
EnterState_Discover
void EnterState_Discover( void )
פונקציות המעבר של המצבים האלה הן פנימיות ולא יכולות להחזיר קוד שגיאה, כי המצב הקודם לא היה מוביל לטיפול בהן.
כל כשל יוביל בסופו של דבר למעבר אחר למצב (ייתכן שהזמן הקצוב לתפוגה יסתיים) אם אפילו הטיימר ייכשל, לא נצליח לפתור את הבעיה.
EnterState_ServiceSync_1
void EnterState_ServiceSync_1( void )
EnterState_ServiceSync_2
void EnterState_ServiceSync_2( void )
EnterState_Sync_1
void EnterState_Sync_1( void )
EnterState_Sync_2
void EnterState_Sync_2( void )
סוגים ציבוריים
ClientState
ClientState
המצב הנוכחי של לקוח סנכרון הזמן הזה
CommState
CommState
סטטוס התקשורת של איש קשר מסוים.
התמונה הזו גלויה לכולם כי יצירת הקשר גלויה לכולם
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
הקריאה החוזרת (callback) מתרחשת ממש לפני שאנחנו מחשבים את תיקון הזמן מתשובות.
שכבת היישום יכולה להחליף את aContact[i].mResponseStatus ב-kResponseStatus_ Invalid, כך שהתשובה לא נלקחת בחשבון בחישוב
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
כדי לציין שקיבלנו בקשה לסנכרון זמן.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
החזרות |
FALSE והמנוע יתעלם מהבקשה הזו
|
ResponseStatus
ResponseStatus
של תשובה שנשמרה לאיש קשר מסוים.
התמונה הזו גלויה לכולם כי יצירת הקשר גלויה לכולם
ServerState
ServerState
המצב הנוכחי של שרת סנכרון הזמן הזה
מאפיינים | |
---|---|
kServerState_Idle
|
השרת מוכן להגיב לבקשות עם הגדרות רגילות |
kServerState_UnreliableAfterBoot
|
הזמן השמור לשרת לסנכרן את זמן המערכת שלו באמצעים אחרים, שיש לו משמעות רק אם הערך של aIsAlwaysFresh נכון כשמתבצעת קריאה ל-Init. |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
הקריאה החוזרת (callback) מתרחשת כאשר הסנכרון נחשב כנכשל, כולל סנכרון אוטומטי.
חשוב לזכור שקריאה חוזרת (callback) לא מתרחשת אם מתבצעת קריאה ל-Abort כדי להפסיק את הסנכרון
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
קריאה חוזרת (callback) מתרחשת אחרי שהסנכרון נחשב למוצלח, כולל סנכרון אוטומטי, אבל לפני החלת התוצאה.
חשוב לדעת: הצלחה לא אומרת שקיבלנו תוצאות רלוונטיות. אם לא תתקבל תגובה, aNumContributor תוגדר כ-0. שכבת האפליקציה יכולה להחליף את aContact[i].mResponseStatus ב-kResponseStatus_ Invalid, כך שהתשובה לא נלקחת בחשבון בחישוב
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
החזרות |
true אם ההיסט הזה ישמש להתאמת זמן המערכת. אם aNumContributor הוא 0, המערכת תתעלם מהערך המוחזר.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
כדי לציין שקיבלנו התראה על שינוי זמן.
אם מצב הסנכרון האוטומטי מופעל, יתבצע סנכרון זמן זמן קצר לאחר הקריאה החוזרת באופן אוטומטי. אחרת, שכבת האפליקציות יכולה לבחור לקרוא למשפחת הפונקציות של סנכרון כדי להפעיל ישירות פעולת סנכרון שאינה מוגבלת על ידי הכלל הרגיל של קריאה חוזרת שאינו זמין. עם זאת, חשוב לציין שהקריאה החוזרת המיוחדת הזו עדיין נמצאת מעל סטאק הקריאה החוזרת של שכבת ההחלפה של Weave.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
מאפיינים ציבוריים
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
אם המדיניות לא מוגדרת, הטמעת ברירת המחדל תמיד מחזירה את הערך True
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
אם המדיניות לא מוגדרת, התנהגות ברירת המחדל מקבלת את כל התוצאות, מלבד תיקונים קטנים מאוד בשרת
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
שיטת הצפנה לתקשורת מקומית
mKeyId
uint16_t mKeyId
מזהה מפתח שמשמש לתקשורת מקומית
מאפיינים מוגנים
mApp
void * mApp
מצביע על נתוני שכבה גבוהה יותר
mClientState
ClientState mClientState
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
פרטים ליצירת קשר שנלמדו במהלך הגילוי.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
אם אנחנו בקריאה חוזרת לשכבה גבוהה יותר
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
התפקיד בפועל של הצומת הזה.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
לתשומת ליבך, זה צריך להיות בזמן האתחול, כי אנחנו צריכים תגמול על זמן השינה
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
לתשומת ליבך, זה צריך להיות בזמן האתחול, כי אנחנו צריכים תגמול על זמן השינה
פונקציות ציבוריות
ביטול
WEAVE_ERROR Abort( void )
לאלץ את המנוע לחזור למצב לא פעיל, ולבטל את הפעולה שהוא עושה.
הערה לא תיקרא הצלחה או כשל בסנכרון. כל הבורסה של Weave ייסגרו. לא תהיה השפעה נוספת על חיבורי TCP. אין פעולה אם אנחנו כבר במצב לא פעיל. לא זמין בקריאות חוזרות (callback).
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR בהצלחה
|
DisableAutoSync
void DisableAutoSync( void )
השבתת הסנכרון האוטומטי.
זמינה רק במצב לא פעיל. לא זמין בקריאות חוזרות (callback).
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
הפעלת הסנכרון האוטומטי.
זמינה רק במצב לא פעיל. החשיפה מתבצעת באופן מיידי. לא זמין בקריאות חוזרות (callback).
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
מקש geter פשוט למספר המקסימלי של אנשי קשר שהמנוע הזה מוגדר לאחסן
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
לחלץ את הסבירות לקבוע.
התוצאה תהיה בתוקף רק אחרי שפעולת הסנכרון תסתיים, במסגרת הקריאות החוזרות (callbacks) של OnSyncS הודעתd ו-OnSyncFaileded. אחרת הוא זמני, ועשוי להיות הסבירות הנוכחית ולא הסבירות הבאה.
פרטים | |
---|---|
החזרות |
הסבירות שייעשה שימוש בתגובה בבקשה הבאה
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
צריך לאתחל את הלקוח הזה.
לא זמין בקריאות חוזרות (callbacks)
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
InitCoordinator
WEAVE_ERROR InitCoordinator( nl::Weave::WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
לאתחל את המתאם הזה.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
אתחול לתפקיד שרת צריך להיקרא כפונקציה הראשונה לאחר בניית האובייקט, אם הכוונה היא להיות שרת לסנכרון זמן.
לא זמין בקריאות חוזרות (callbacks)
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
מופעל על ידי שכבה גבוהה יותר להתראה על שינוי זמן בריבוי שידורים.
לא זמין בקריאות חוזרות (callback).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
נשלחה קריאה על ידי שכבה גבוהה יותר כדי לציין שסיימנו עכשיו סבב סנכרון עם שרת כלשהו או דרך אמצעים אמינים כמו NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
נשלחה קריאה על ידי שכבה גבוהה יותר כדי לציין שסיימנו עכשיו את סבב הסנכרון עם מתאמים מקומיים אחרים.
פרטים | |||
---|---|---|---|
פרמטרים |
|
כיבוי
WEAVE_ERROR Shutdown( void )
להפסיק את השירות, ללא קשר לתפקיד שעליו הוא ממלא.
צריך להפעיל את הפונקציה הזו כדי להחזיר נכון את המשאבים שהוקצו, לפני שאפשר יהיה לבצע קריאה נוספת לפונקציות ההתחלתיות. לא זמין בקריאות חוזרות (callback).
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR בהצלחה
|
סנכרון
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
לסנכרן באמצעות אנשי קשר קיימים.
אם אין אנשי קשר חוקיים, פעולת הסנכרון תיכשל. להגדיר את aForceDiscoverAgain כ-TRUE כדי לאלץ גילוי באופן מיידי. זמינה רק במצב לא פעיל. לא זמין בקריאות חוזרות (callback).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
לבצע סנכרון באמצעות רשימת אנשי הקשר הנתונה.
רשימת אנשי הקשר הקיימת תרוקן. זמינה רק במצב לא פעיל. לא זמין בקריאות חוזרות (callback).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
לסנכרן באמצעות חיבור ה-TCP הנתון וההצפנה ומזהה המפתח המשויכים.
מבצע הקריאה החוזרת יצטרך לקבל בעלות על חיבור ה-TCP בסיום הסנכרון. אף קריאה חוזרת לא תוחלף עבור חיבור ה-TCP, כי תיווצר Weave Exchange חדש ותקבע קריאות חוזרות (callback) בנוסף להקשר הזה, והוא זמין רק במצב של חוסר פעילות. לא זמין בקריאות חוזרות (callback).
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
TimeSyncNode
TimeSyncNode( void )
פונקציות מוגנות
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
ביטול פנימי אם ה-aCode אינו WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
פונקציה פנימית כדי להתחיל סשן של סנכרון אוטומטי
CallbackForSyncCompletion
WEAVE_ERROR CallbackForSyncCompletion( const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec )
יובילו לקריאה חוזרת (callback) לשכבת האפליקציה.
להגדיר את aIsDone ל-false כדי לגרום לקריאה חוזרת של השגיאה
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
להחזיר משבצת כדי לשמור פרטים ליצירת קשר
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
איש הקשר הבא, תקין ולא פעיל, שאפשר לדבר איתו
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
מקבלים את מספר אנשי הקשר התקינים, אבל עוד לא דיברנו איתם.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
מקבלים את מספר תגובות שנאספו עד עכשיו.
כדי לבדוק אם יש לנו מספיק תשובות
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
לבטל את התוקף של כל אנשי הקשר המקומיים
InvalidateServiceContact
void InvalidateServiceContact( void )
ביטול התוקף של איש הקשר לשירות
RegisterCommError
void RegisterCommError( Contact *const aContact )
לתעד שגיאת תקשורת עם איש קשר מסוים ולקצר את תקופת הגילוי האוטומטי במקרה הצורך, כך שאיש הקשר יכול להיות NULL כדי לציין שאין לנו עם מי לדבר, ולקצר את פרק הזמן של הגילוי האוטומטי
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
שליחת בקשה לסנכרון unicast לאיש קשר.
*rIsMessageSent יוגדר כדי לציין אם ההודעה נשלחה. לא מוחזרות שגיאות תקשורת, כגון 'כתובת שלא ניתן להגיע אליה', לכן המתקשר יבדוק גם את קוד ההחזרה וגם את *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
לאפס שוב את כל אנשי הקשר שהושלמו למצב לא פעיל, אבל לא לגעת בתגובה.
תנועה כזו נקראת בין שני סבבי תקשורת לאותו צומת
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
להגדיר את כל אנשי הקשר המקומיים החוקיים למצב לא פעיל ולנקות את התגובה.
תתבצע קריאה לפני שנתחיל ליצור איתם קשר,
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
יצירת Weave Exchange חדש לתקשורת unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
אחסון הפרטים ליצירת קשר של צומת ששלח לנו התראה על שינוי זמן
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
לעבד תשובה שחוזרת מבקשה של Multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
לעבד תגובה שחוזרת מבקשת unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
להפעיל את התפקיד 'לקוח'.
מיועד לשימוש פנימי על ידי משפחת Init של תפקידים ציבוריים. יש להגדיר את mClientState לפני החזרה. לא זמין בקריאות חוזרות (callbacks)
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
לבצע אתחול לתפקיד 'שרת'.
מיועד לשימוש פנימי על ידי משפחת Init של תפקידים ציבוריים. יש להגדיר את mClientState לפני החזרה. לא זמין בקריאות חוזרות (callbacks)
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
WEAVE_NO_ERROR בהצלחה
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
הפסקת הלקוח לא זמין בקריאות חוזרות (callback).
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR בהצלחה
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
שהמתאם לא זמין בקריאות חוזרות (callback).
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR בהצלחה
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
השרת לא זמין בקריאות חוזרות (callback).
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR בהצלחה
|
פונקציות סטטיות מוגנות
HandleAutoDiscoveryTimeout
void HandleAutoDiscoveryTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleAutoSyncTimeout
void HandleAutoSyncTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleMulticastResponseTimeout
void HandleMulticastResponseTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleMulticastSyncResponse
void HandleMulticastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleSyncRequest
void HandleSyncRequest( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
קריאה חוזרת (callback) מ-Weave Exchange כאשר מתקבלת בקשת סנכרון זמן
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleUnicastResponseTimeout
void HandleUnicastResponseTimeout( ExchangeContext *const ec )
HandleUnicastSyncResponse
void HandleUnicastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleUnreliableAfterBootTimer
void HandleUnreliableAfterBootTimer( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
קריאה חוזרת (callback) מטיימר של Weave כשעברנו את השלב הלא מהימן לאחר מחסום האתחול
IsOperationalState
bool IsOperationalState( ClientState aState )
החליטו אם מצב נתון הוא פעיל.
שיטת נוחות שמאפשרת לקבוע אם ClientState מציין מצב תפעולי, כלומר הלקוח השלים את האתחול ולא נמצא בתהליך השבתה.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
True אם המצב נופל אחרי סיום האתחול ולפני התחלת הכיבוי, אחרת הערך false.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )