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
|
تعداد الحالة الحالية لبرنامج مزامنة الوقت هذا |
CommState
|
تعداد حالة الاتصال بجهة اتصال معينة. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
تحدث معاودة الاتصال مباشرةً قبل حساب تصحيح الوقت من الردود. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
للإشارة إلى أننا تلقينا طلب مزامنة الوقت للتو. |
ResponseStatus
|
تعداد حالة الرد المخزن لجهة اتصال معينة. |
ServerState{
|
تعداد الحالة الحالية لخادم مزامنة الوقت هذا |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
يحدث رد الاتصال عندما يُعتبَر المزامنة غير ناجحة، بما في ذلك المزامنة التلقائية. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
يحدث رد الاتصال بعد اعتبار المزامنة ناجحة، بما في ذلك المزامنة التلقائية، ولكن قبل تطبيق النتيجة. |
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
الحصول على بيانات بسيطة لأقصى عدد من جهات الاتصال التي تم ضبط هذا المحرك على تخزينها
|
GetClientState(void) const
|
الحصول على نص بسيط لحالة العميل
|
GetNextLikelihood(void) const
|
int8_t
واستخراج احتمالية استمرار المشكلة
|
GetServerState(void) const
|
استرداد بسيط لحالة الخادم
|
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)
|
لإحداث رد الاتصال بطبقة التطبيق.
|
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)
|
إرسال طلب مزامنة أحادي البث إلى جهة اتصال.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
إعادة تعيين جميع جهات الاتصال المكتملة إلى حالة عدم النشاط مرة أخرى، ولكن لا تلمس الرد.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
ضبط جميع جهات الاتصال المحلية الصالحة على حالة عدم النشاط ومحو الاستجابة
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
إنشاء Weave Exchange جديد للاتصال الأحادي
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
تخزين معلومات الاتصال لعقدة أرسلت إلينا للتو إشعارًا بتغيير الوقت
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
معالجة استجابة واردة من طلب بث متعدّد
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
معالجة استجابة واردة من طلب البث الأحادي
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
تهيئة دور العميل.
|
_InitServer(const bool aIsAlwaysFresh)
|
تهيئة دور الخادم.
|
_ShutdownClient(void)
|
إيقاف عدم توفر العميل في عمليات الاستدعاء.
|
_ShutdownCoordinator(void)
|
إيقاف عدم توفر المنسق في عمليات الاستدعاء.
|
_ShutdownServer(void)
|
إيقاف الخادم غير المتاح في عمليات الاستدعاء.
|
الدوال الثابتة المحمية |
|
---|---|
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)
تحدث معاودة الاتصال مباشرةً قبل حساب تصحيح الوقت من الردود.
قد تستبدل طبقة التطبيق aContact[i].mResponseStatus إلى kResponseStatus_Valid بحيث يتم تجاهل الاستجابة في العملية الحسابية
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
للإشارة إلى أننا تلقينا طلب مزامنة الوقت للتو.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
المرتجعات |
خطأ وسيتجاهل المحرك هذا الطلب
|
ResponseStatus
ResponseStatus
حالة الرد المخزن لجهة اتصال معينة.
هذه المعلومات عامة لأن جهة الاتصال علنية.
ServerState
ServerState
الحالة الحالية لخادم مزامنة الوقت هذا
أماكن إقامة | |
---|---|
kServerState_Idle
|
أن يكون الخادم جاهزًا للاستجابة للطلبات بإعدادات عادية |
kServerState_UnreliableAfterBoot
|
الوقت المحجوز للخادم لمزامنة وقت النظام الخاص به من خلال بعض الوسائل الأخرى ذات المغزى فقط إذا كان aIsAlwaysFresh صحيحًا عند استدعاء Init |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
يحدث رد الاتصال عندما يُعتبَر المزامنة غير ناجحة، بما في ذلك المزامنة التلقائية.
لاحظ أن معاودة الاتصال لا تحدث إذا تم استدعاء Abort لإيقاف المزامنة
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
يحدث رد الاتصال بعد اعتبار المزامنة ناجحة، بما في ذلك المزامنة التلقائية، ولكن قبل تطبيق النتيجة.
وتجدر الإشارة إلى أنّ النجاح لا يعني بالضرورة حصولنا على نتائج قابلة للتطبيق. في حال عدم تلقّي أي استجابة، يتم ضبط aNumCONTRIBUTOR على 0. ويمكن أن تستبدل طبقة التطبيق aContact[i].mResponseStatus إلى kResponseStatus_Unknown كي يتم تجاهل الاستجابة في العملية الحسابية.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||
المرتجعات |
صحيح إذا تم استخدام هذه الإزاحة لضبط وقت النظام. وفي حال كانت قيمة 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 بعد ذلك. أي عملية إذا كنا في حالة الخمول فعلاً. غير متاح في عمليات معاودة الاتصال.
التفاصيل | |
---|---|
المرتجعات |
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
الحصول على بيانات بسيطة لأقصى عدد من جهات الاتصال التي تم ضبط هذا المحرك على تخزينها
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
واستخراج احتمالية استمرار المشكلة
فلن تكون النتيجة صالحة إلا بعد اكتمال عملية المزامنة، ضمن استدعاءات OnSyncSucceeded و OnSyncFound (إخفاق). وإلا يكون عرضيًا مؤقتًا وقد يكون الاحتمال الحالي بدلاً من الاحتمال التالي لاستخدامه.
التفاصيل | |
---|---|
المرتجعات |
احتمالية استخدام الرد في الطلب التالي
|
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 )
تهيئة لدور الخادم يجب أن يتم استدعاؤها كأول وظيفة بعد إنشاء الكائن إذا كانت النية هي أن تكون خادم مزامنة الوقت.
غير متاح في طلبات معاودة الاتصال
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
المرتجعات |
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 )
لإيقاف الخدمة، بغض النظر عن الدور الذي تؤديه.
يجب استدعاء هذه الدالة لاسترداد الموارد المخصصة بشكل صحيح، قبل إجراء استدعاء آخر لأي من دوال init. غير متاح في معاودة الاتصال.
التفاصيل | |
---|---|
المرتجعات |
WEAVE_NO_ERROR في النجاح
|
مزامنة
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
المزامنة باستخدام جهات الاتصال الحالية.
قد تفشل عملية المزامنة إذا لم تتوفر أي جهات اتصال صالحة. اضبط aForceDiscoverAمرة أخرى على "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 بعد انتهاء المزامنة. لن يتم استبدال أي معاودة الاتصال لاتصال بروتوكول التحكم بالنقل، نظرًا لأنه سيتم إنشاء تبادل 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 )
لإحداث رد الاتصال بطبقة التطبيق.
ضبط aisSuccess على "خطأ" لحث معاودة الاتصال بالخطأ
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 )
إرسال طلب مزامنة أحادي البث إلى جهة اتصال.
*سيتم ضبط 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 جديد للاتصال الأحادي
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
تخزين معلومات الاتصال لعقدة أرسلت إلينا للتو إشعارًا بتغيير الوقت
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
معالجة استجابة واردة من طلب بث متعدّد
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
معالجة استجابة واردة من طلب البث الأحادي
_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 )
تهيئة دور الخادم.
مخصص للاستخدام الداخلي من قِبل مجموعة Init للوظائف العامة. يجب ضبط mClientState قبل الإرجاع. غير متاح في طلبات معاودة الاتصال
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
WEAVE_NO_ERROR في النجاح
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
إيقاف عدم توفر العميل في عمليات الاستدعاء.
التفاصيل | |
---|---|
المرتجعات |
WEAVE_NO_ERROR في النجاح
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
إيقاف عدم توفر المنسق في عمليات الاستدعاء.
التفاصيل | |
---|---|
المرتجعات |
WEAVE_NO_ERROR في النجاح
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
إيقاف الخادم غير المتاح في عمليات الاستدعاء.
التفاصيل | |
---|---|
المرتجعات |
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 في الحالات الأخرى.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )