nl:: Weave:: Profiles:: Time:: TimeSyncNode
סיכום
ירושה
Inherits from: 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(*
קריאה חוזרת (callback) כדי לציין שקיבלנו עכשיו בקשה לסנכרון זמן. |
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
True אם אנחנו בקריאה חוזרת (callback) לשכבה גבוהה יותר
|
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
|
רכיב geter פשוט למצב לקוח
|
GetNextLikelihood(void) const
|
int8_t
מחלצים את הסבירות לקבוע.
|
GetServerState(void) const
|
רכיב getter פשוט של מצב השרת
|
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)
|
צריך להפעיל אתחול של תפקיד השרת בתור הפונקציה הראשונה לאחר יצירת אובייקט אם הכוונה היא להיות Time Sync Server.
|
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)
|
לבצע אתחול עבור התפקיד Server.
|
_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
קריאה חוזרת מ-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
התקשרות חזרה מטיימר ה-Weave Timer כשעברנו את חוסר האמינות אחרי מחסום האתחול
|
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
המצב הנוכחי של לקוח סנכרון הזמן הזה
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
הקריאה החוזרת (callback) מתרחשת ממש לפני שאנחנו מחשבים את תיקון הזמן על סמך התשובות.
שכבת האפליקציה יכולה להחליף את aContact[i].mResponseStatus ל-kResponseStatus_Unknown כך שהמערכת תתעלם מהתשובה בחישוב
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
קריאה חוזרת (callback) כדי לציין שקיבלנו עכשיו בקשה לסנכרון זמן.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
החזרות |
false והמנוע יתעלם מהבקשה הזו
|
ResponseStatus
ResponseStatus
סטטוס של תגובה שמורה לאיש קשר מסוים.
האירוע הזה ציבורי כי יצירת קשר במצב ציבורי
ServerState
ServerState
המצב הנוכחי של שרת סנכרון הזמן
תכונות | |
---|---|
kServerState_Idle
|
השרת מוכן להגיב לבקשות עם הגדרות רגילות |
kServerState_UnreliableAfterBoot
|
לזמן השמור לשרת לסנכרן את זמן המערכת שלו באמצעות אמצעי אחר, משמעות רק אם aIsתמידFresh מתקיים כאשר Init מופעל |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
קריאה חוזרת (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_ העברה לא חוקית, כך שהמערכת תתעלם מהתגובה הזו בחישוב
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
החזרות |
True אם ההיסט הזה ישמש להתאמת זמן המערכת. במקרה ש-aNumContributor הוא 0, המערכת תתעלם מהערך המוחזר.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
להתקשר חזרה כדי לציין שקיבלנו עכשיו התראה על שינוי זמן.
אם מצב הסנכרון האוטומטי מופעל, סנכרון זמן יתוזמן זמן קצר לאחר הקריאה החוזרת באופן אוטומטי. אחרת, שכבת האפליקציה תוכל לבחור לקרוא למשפחת הפונקציות 'סנכרון' כדי להפסיק את פעולת הסנכרון באופן ישיר, שלא מוגבל על ידי הכלל הרגיל של לא זמין לגבי התקשרות חזרה. עם זאת, חשוב לציין שהקריאה החוזרת המיוחדת הזו עדיין נמצאת מעל מקבץ הקריאה החוזרת של שכבת ה-Weave Exchange.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
מאפיינים ציבוריים
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
True אם אנחנו בקריאה חוזרת (callback) לשכבה גבוהה יותר
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 Exchanges ייסגרו. חיבורי TCP לא יתווספו עוד. אין פעולה אם אנחנו כבר במצב לא פעיל. לא זמין בהתקשרות חזרה.
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
DisableAutoSync
void DisableAutoSync( void )
השבתת הסנכרון האוטומטי.
זמין רק במצב לא פעיל. לא זמין בהתקשרות חזרה.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
להפעיל סנכרון אוטומטי.
זמין רק במצב לא פעיל. הגילוי מתבצע באופן מיידי. לא זמין בהתקשרות חזרה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
פונקציית geter למספר המרבי של אנשי קשר שהמנוע הזה מוגדר לאחסן
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
מחלצים את הסבירות לקבוע.
התוצאה תהיה תקפה רק אחרי שפעולת הסנכרון תסתיים בקריאות חוזרות (callbacks) של OnSyncSucceed ו-OnSync//
פרטים | |
---|---|
החזרות |
הסבירות שבה ייעשה שימוש בתשובה בבקשה הבאה
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
צריך לאתחל את הלקוח הזה.
לא זמין בהתקשרות חזרה
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
החזרות |
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 )
צריך להפעיל אתחול של תפקיד השרת בתור הפונקציה הראשונה לאחר יצירת אובייקט אם הכוונה היא להיות Time Sync Server.
לא זמין בהתקשרות חזרה
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
היא נקראת על ידי שכבה גבוהה יותר להתראה על שינוי זמן של שידורים מרובים.
לא זמין בהתקשרות חזרה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
נקרא על ידי שכבה גבוהה יותר כדי לציין שסיימנו סבב זמן של סנכרון עם שרת כלשהו או דרך אמצעים אמינים כמו NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
נקרא על ידי שכבה גבוהה יותר כדי לציין שסיימנו עכשיו סבב זמן עם מתאמים מקומיים אחרים.
פרטים | |||
---|---|---|---|
פרמטרים |
|
כיבוי
WEAVE_ERROR Shutdown( void )
להפסיק את השירות, ללא קשר לתפקיד שהוא ממלא.
חובה לקרוא לפונקציה הזו כדי לדרוש מחדש משאבים שהוקצו לפני כן ניתן לבצע קריאה אחרת לכל אחת מהפונקציות ההתחלתיות. לא זמינה בהתקשרות חזרה.
פרטים | |
---|---|
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
סנכרון
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
לבצע סנכרון באמצעות אנשי קשר קיימים.
פעולת הסנכרון עלולה להיכשל אם אין אנשי קשר חוקיים. יש להגדיר את aForceDiscoverAgain לערך true כדי לכפות גילוי באופן מיידי. זמין רק במצב לא פעיל. לא זמין בהתקשרות חזרה.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
לבצע סנכרון באמצעות רשימת אנשי הקשר הנתונה.
רשימת אנשי הקשר הקיימת תימחק. זמינה רק במצב לא פעיל. לא זמין בהתקשרות חזרה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
לבצע סנכרון באמצעות חיבור ה-TCP שצוין וההצפנה ומזהה המפתח המשויכים אליו.
המתקשר חייב לקבל בעלות על חיבור ה-TCP לאחר סיום הסנכרון. התקשרות חזרה לא תוחלף עבור חיבור ה-TCP, מכיוון שיווצרו Weave Exchange חדש ו-callbacks מוגדרים על גבי ההקשר הזה זמינים רק במצב לא פעיל. לא זמין בהתקשרות חזרה.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
TimeSyncNode
TimeSyncNode( void )
פונקציות מוגנות
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) לשכבת האפליקציה.
מוגדר כ-false כדי לגרום לשגיאת קריאה חוזרת (callback)
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 לפני החזרה. לא זמין בקריאות חוזרות
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
WEAVE_NO_ERROR הושלמו בהצלחה
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
לבצע אתחול עבור התפקיד Server.
מיועדות לשימוש פנימי על ידי משפחת פונקציות ציבוריות מסוג Init. חובה להגדיר mClientState לפני החזרה. לא זמין בקריאות חוזרות
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
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 )
קריאה חוזרת מ-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 )
התקשרות חזרה מטיימר ה-Weave Timer כשעברנו את חוסר האמינות אחרי מחסום האתחול
IsOperationalState
bool IsOperationalState( ClientState aState )
החליטו אם מצב נתון הוא פעולה פעילה.
שיטת נוחות שמאפשרת לקבוע אם ה-ClientState מציין מצב תפעולי, כלומר הלקוח השלים את האתחול ולא נמצא בתהליך השבתה.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
TRUE אם המצב נופל אחרי שהאתחול הושלם ולפני תחילת הכיבוי, false אם לא.
|
_OnSyncSucceed
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )