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
הקשר מסוים לתקשורת.
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) typedef
void(*
הקריאה החוזרת (callback) מתרחשת ממש לפני שאנחנו מחשבים את תיקון הזמן על סמך התשובות.
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) typedef
bool(*
קריאה חוזרת (callback) כדי לציין שקיבלנו עכשיו בקשה לסנכרון זמן.
ResponseStatus טיפוסים בני מנייה (enum)
סטטוס של תגובה שמורה לאיש קשר מסוים.
ServerState{
  kServerState_UnreliableAfterBoot,
  kServerState_Idle
}
טיפוסים בני מנייה (enum)
המצב הנוכחי של שרת סנכרון הזמן
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
קריאה חוזרת (callback) מתרחשת כאשר הסנכרון נחשב כנכשל, כולל סנכרון אוטומטי.
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) typedef
bool(*
הקריאה החוזרת (callback) מתרחשת אחרי שהסנכרון נחשב כמוצלח, כולל הסנכרון האוטומטי, אבל לפני שהתוצאה מוחלת.
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) typedef
void(*
להתקשר חזרה כדי לציין שקיבלנו עכשיו התראה על שינוי זמן.

מאפיינים ציבוריים

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)
להחזיר יחידת קיבולת כדי לאחסן פרטים ליצירת קשר
GetClientStateName(void) const
const char *const
GetNextIdleContact(void)
להשיג את איש הקשר הבא, התקף והלא פעיל, כדי לדבר איתו
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

mActiveContact

Contact * mActiveContact

הקשר מסוים לתקשורת.

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_Unknown כך שהמערכת תתעלם מהתשובה בחישוב

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

OnSyncRequestReceivedHandler

bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)

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

פרטים
פרמטרים
[in] aApp
מצביע לנתונים של שכבת אפליקציה, המוגדרים ב-Init.
[in] aMsgInfo
WeaveMessageInfo עם מידע על בקשת סנכרון הזמן שהתקבלה, כולל מידע על השולח.
[in] aLikelyhood
סבירות תגובה כפי שהתבקש על ידי יוצר
[in] aIsTimeCoordinator
True אם הצומת המקורי הוא מתאם זמן סנכרון
החזרות
false והמנוע יתעלם מהבקשה הזו

ResponseStatus

 ResponseStatus

סטטוס של תגובה שמורה לאיש קשר מסוים.

האירוע הזה ציבורי כי יצירת קשר במצב ציבורי

ServerState

 ServerState

המצב הנוכחי של שרת סנכרון הזמן

תכונות
kServerState_Idle

השרת מוכן להגיב לבקשות עם הגדרות רגילות

kServerState_UnreliableAfterBoot

לזמן השמור לשרת לסנכרן את זמן המערכת שלו באמצעות אמצעי אחר, משמעות רק אם aIsתמידFresh מתקיים כאשר Init מופעל

SyncFailedHandler

void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)

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

הערה: התקשרות חזרה לא מתרחשת כשמתבצעת קריאה ל-Abort כדי להפסיק את הסנכרון

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

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_ העברה לא חוקית, כך שהמערכת תתעלם מהתגובה הזו בחישוב

פרטים
פרמטרים
[in] aApp
מצביע לנתונים של שכבת אפליקציה, המוגדרים ב-Init.
[in] aOffsetUsec
כמות תיקון ב-usec
[in] aIsReliable
הוא התיקון שנחשב למהימן לפי הלוגיקה המובנית
[in] aIsServer
האם התיקון מגיע מהשרת/ים
[in] aNumContributor
מספר הצמתים שתרמו לתיקון הזה. 0 פירושו שאין תוצאות מפעולת סנכרון.
החזרות
True אם ההיסט הזה ישמש להתאמת זמן המערכת. במקרה ש-aNumContributor הוא 0, המערכת תתעלם מהערך המוחזר.

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)

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

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

פרטים
פרמטרים
[in] aApp
מצביע לנתונים של שכבת אפליקציה, המוגדרים ב-Init.
[in] aNodeId
מבקש מזהה צומת
[in] aNodeAddr
בקשה לכתובת צומת

מאפיינים ציבוריים

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

mConnectionToService

WeaveConnection * mConnectionToService

חיבור TCP משמש לתקשורת עם השירות.

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
)

להפעיל סנכרון אוטומטי.

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

פרטים
פרמטרים
[in] aSyncPeriod_msec
מספר אלפיות השנייה בין סנכרון
[in] aNominalDiscoveryPeriod_msec
מספר אלפיות השנייה בין הגילוי, אם לא זוהתה שגיאת תקשורת
[in] aShortestDiscoveryPeriod_msec
משך הזמן הקצר ביותר בין הגילוי, במילי-שניות, אם זוהתה שגיאת תקשורת
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

GetCapacityOfContactList

int GetCapacityOfContactList(
  void
) const 

פונקציית geter למספר המרבי של אנשי קשר שהמנוע הזה מוגדר לאחסן

GetClientState

ClientState GetClientState(
  void
) const 

רכיב geter פשוט למצב לקוח

GetNextLikelihood

int8_t GetNextLikelihood(
  void
) const 

מחלצים את הסבירות לקבוע.

התוצאה תהיה תקפה רק אחרי שפעולת הסנכרון תסתיים בקריאות חוזרות (callbacks) של OnSyncSucceed ו-OnSync//

פרטים
החזרות
הסבירות שבה ייעשה שימוש בתשובה בבקשה הבאה

GetServerState

ServerState GetServerState(
  void
) const 

רכיב getter פשוט של מצב השרת

InitClient

WEAVE_ERROR InitClient(
  void *const aApp,
  WeaveExchangeManager *aExchangeMgr,
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int8_t aInitialLikelyhood
)

צריך לאתחל את הלקוח הזה.

לא זמין בהתקשרות חזרה

פרטים
פרמטרים
[in] aApp
מצביע לנתונים בשכבה גבוהה יותר, המשמש בקריאות חוזרות לשכבה גבוהה יותר.
[in] aExchangeMgr
מצביע לאובייקט של Weave Exchange Manager ברמת המערכת
[in] aRole
יכול להיות kTimeSyncRole_Client או kTimeSyncRole_Coordinator
[in] aEncryptionType
סוג ההצפנה שישמש לבקשות ותשובות
[in] aKeyId
המזהה של המפתח שישמש לבקשות ותגובות
[in] 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
)

שנפעיל את המתאם הזה.

פרטים
פרמטרים
[in] aExchangeMgr
מצביע לאובייקט של Weave Exchange Manager ברמת המערכת
[in] aEncryptionType
סוג ההצפנה שישמש לבקשות ותשובות
[in] aKeyId
המזהה של המפתח שישמש לבקשות ותגובות
[in] aSyncPeriod_msec
מספר אלפיות השנייה בין סנכרון
[in] aNominalDiscoveryPeriod_msec
משך הזמן הקצר ביותר בין הגילוי, במילי-שניות, אם לא זוהתה שגיאת תקשורת
[in] aShortestDiscoveryPeriod_msec
מספר אלפיות השנייה הקטן ביותר בין גילוי, אם זוהתה שגיאת תקשורת
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

InitServer

WEAVE_ERROR InitServer(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr,
  const bool aIsAlwaysFresh
)

צריך להפעיל אתחול של תפקיד השרת בתור הפונקציה הראשונה לאחר יצירת אובייקט אם הכוונה היא להיות Time Sync Server.

לא זמין בהתקשרות חזרה

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

MulticastTimeChangeNotification

void MulticastTimeChangeNotification(
  const uint8_t aEncryptionType,
  const uint16_t aKeyId
) const 

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

לא זמין בהתקשרות חזרה.

פרטים
פרמטרים
[in] aEncryptionType
סוג ההצפנה שבו ייעשה שימוש בהתראה הזו
[in] aKeyId
מזהה המפתח שישמש בהודעה הזו

RegisterCorrectionFromServerOrNtp

void RegisterCorrectionFromServerOrNtp(
  void
)

נקרא על ידי שכבה גבוהה יותר כדי לציין שסיימנו סבב זמן של סנכרון עם שרת כלשהו או דרך אמצעים אמינים כמו NTP.

RegisterLocalSyncOperation

void RegisterLocalSyncOperation(
  const uint8_t aNumContributor
)

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

פרטים
פרמטרים
[in] aNumContributor
מספר המתאמים שתרמו לסנכרון הזמן הזה

כיבוי

WEAVE_ERROR Shutdown(
  void
)

להפסיק את השירות, ללא קשר לתפקיד שהוא ממלא.

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

פרטים
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

סנכרון

WEAVE_ERROR Sync(
  const bool aForceDiscoverAgain
)

לבצע סנכרון באמצעות אנשי קשר קיימים.

פעולת הסנכרון עלולה להיכשל אם אין אנשי קשר חוקיים. יש להגדיר את aForceDiscoverAgain לערך true כדי לכפות גילוי באופן מיידי. זמין רק במצב לא פעיל. לא זמין בהתקשרות חזרה.

פרטים
פרמטרים
[in] aForceDiscoverAgain
True אם כל אנשי הקשר הקיימים יימחקו ותתבצע פעולת גילוי
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

SyncWithNodes

WEAVE_ERROR SyncWithNodes(
  const int16_t aNumNode,
  const ServingNode aNodes[]
)

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

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

פרטים
פרמטרים
[in] aNumNode
מספר אנשי הקשר במערך aNodes
[in] aNodes
מערך של רשומות אנשי קשר
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

SyncWithService

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

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

המתקשר חייב לקבל בעלות על חיבור ה-TCP לאחר סיום הסנכרון. התקשרות חזרה לא תוחלף עבור חיבור ה-TCP, מכיוון שיווצרו Weave Exchange חדש ו-callbacks מוגדרים על גבי ההקשר הזה זמינים רק במצב לא פעיל. לא זמין בהתקשרות חזרה.

פרטים
פרמטרים
[in] aConnection
מצביע לחיבור ל-Weave
החזרות
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) לשכבת האפליקציה.

מוגדר כ-false כדי לגרום לשגיאת קריאה חוזרת (callback)

ClearState

void ClearState(
  void
)

DestroyCommContext

bool DestroyCommContext(
  void
)

סגור את ExchangeContext של Weave

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 לפני החזרה. לא זמין בקריאות חוזרות

פרטים
פרמטרים
[in] aEncryptionType
סוג ההצפנה שישמש לבקשות ותשובות
[in] aKeyId
המזהה של המפתח שישמש לבקשות ותגובות
[in] aInitialLikelyhood
הסבירות הראשונית שתשמש בשלב הגילוי
החזרות
WEAVE_NO_ERROR הושלמו בהצלחה

_InitServer

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

לבצע אתחול עבור התפקיד Server.

מיועדות לשימוש פנימי על ידי משפחת פונקציות ציבוריות מסוג Init. חובה להגדיר mClientState לפני החזרה. לא זמין בקריאות חוזרות

פרטים
פרמטרים
[in] aIsAlwaysFresh
יש להגדיר כ-true כדי לציין שהשרת מסונכרן תמיד, פרט לזמן הראשוני שאינו מהימן. יש להגדיר כ-false עבור 'מתאם'.
החזרות
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 מציין מצב תפעולי, כלומר הלקוח השלים את האתחול ולא נמצא בתהליך השבתה.

פרטים
פרמטרים
[in] aState
מצב שצריך להעריך
החזרות
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
)