nl :: نسج:: مظهر:: زمن:: TimeSyncNode
ملخص
ميراث
يرث من: NL :: :: نسج الملامح :: الوقت :: _ 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 | إذا لم يتم تعيينها ، فإن التنفيذ الافتراضي يعود دائمًا صحيحًا |
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 |
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 تسجيل خطأ في الاتصال على جهة اتصال معينة ، وتقصير فترة الاكتشاف التلقائي إذا لزم الأمر ، يمكن أن يكون الاتصال فارغًا للإشارة إلى أنه ليس لدينا من نتحدث إليه ، وبالتالي فقط تقصير فترة الاكتشاف التلقائي |
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
ميسوتوسينسنابل
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
الحالة الحالية لعميل مزامنة الوقت هذا
المساهم
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
يحدث رد الاتصال مباشرة قبل أن نحسب تصحيح الوقت من الردود.
يمكن لطبقة التطبيق الكتابة فوق aContact [i] .mResponseStatus إلى kResponseStatus_Invalid بحيث يتم تجاهل هذه الاستجابة في الحساب
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
رد الاتصال للإشارة إلى تلقينا للتو طلب مزامنة الوقت.
تفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
| ||||||||
عائدات | خطأ وسيتجاهل المحرك هذا الطلب |
الاستجابة
ResponseStatus
حالة الاستجابة المخزنة لجهة اتصال معينة.
هذا هو في الجمهور بسبب الاتصال في الجمهور
ServerState
ServerState
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)
يحدث رد الاتصال بعد اعتبار المزامنة ناجحة ، بما في ذلك المزامنة التلقائية ، ولكن قبل تطبيق النتيجة.
لاحظ أن النجاح لا يعني أن لدينا نتائج قابلة للتطبيق. في حالة عدم تلقي أي رد ، سيتم تعيين NumContributor على 0. يمكن لطبقة التطبيق الكتابة فوق جهة الاتصال [i] .mResponseStatus إلى kResponseStatus_Invalid بحيث يتم تجاهل هذه الاستجابة في الحساب
تفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
| ||||||||||
عائدات | صحيح إذا تم استخدام هذا الإزاحة لضبط وقت النظام. إذا كانت قيمة aNumContributor تساوي 0 ، فسيتم تجاهل القيمة المعادة. |
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
رد الاتصال للإشارة إلى أننا تلقينا للتو إشعارًا بتغيير الوقت.
إذا تم تمكين وضع المزامنة التلقائية ، فستتم جدولة مزامنة الوقت بعد وقت قصير من رد الاتصال هذا تلقائيًا. وبخلاف ذلك ، يمكن لطبقة التطبيق أن تختار استدعاء مجموعة وظائف Sync لبدء عملية المزامنة مباشرة غير المقيدة بالقاعدة العادية غير المتوفرة أثناء معاودة الاتصال. ومع ذلك ، يجب ملاحظة أن رد النداء الخاص هذا لا يزال أعلى مكدس رد النداء لطبقة Weave exchange.
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
السمات العامة
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSync فشل
SyncFailedHandler OnSyncFailed
تم استلام OnSyncRequest
OnSyncRequestReceivedHandler OnSyncRequestReceived
إذا لم يتم تعيينها ، فإن التنفيذ الافتراضي يعود دائمًا صحيحًا
نجح OnSync
SyncSucceededHandler OnSyncSucceeded
إذا لم يتم تعيينها ، فإن السلوك الافتراضي يأخذ جميع النتائج ، باستثناء تصحيحات الخادم الصغيرة جدًا
تم استلام OnTimeChangeNotification
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
نوع mEncryption
uint8_t mEncryptionType
طريقة التشفير للاتصال المحلي
mKeyId
uint16_t mKeyId
معرف المفتاح المستخدم للاتصال المحلي
السمات المحمية
تطبيق mApp
void * mApp
مؤشر لبيانات الطبقة العليا
mClientState
ClientState mClientState
م
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
الاتصال المستفادة المعلومات في جميع أنحاء الاكتشاف.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
صحيح إذا كنا في رد اتصال إلى طبقة أعلى
احتمالية الإرسال الأخيرة
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
مول
TimeSyncRole mRole
الدور الفعلي لهذه العقدة.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
لاحظ أنه يجب أن يكون وقت التمهيد لأننا نحتاج إلى تعويض عن وقت النوم
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
لاحظ أنه يجب أن يكون وقت التمهيد لأننا نحتاج إلى تعويض عن وقت النوم
الوظائف العامة
إحباط
WEAVE_ERROR Abort( void )
إجبار المحرك على العودة إلى حالة الخمول ، وإجهاض أي شيء يفعله.
لاحظ أنه لن يتم استدعاء أي نجاح أو فشل في المزامنة. سيتم إغلاق جميع مبادلات النسج. لن يتم التطرق إلى اتصالات TCP أكثر. لا توجد عملية إذا كنا بالفعل في حالة الخمول. غير متوفر في عمليات الاسترجاعات.
تفاصيل | |
---|---|
عائدات | WEAVE_NO_ERROR على النجاح |
تعطيل AutoSync
void DisableAutoSync( void )
تعطيل المزامنة التلقائية.
متاح فقط في حالة الخمول. غير متوفر في عمليات الاسترجاعات.
تمكين AutoSync
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
أداة تجميع بسيطة لأقصى عدد من جهات الاتصال التي تم تكوين هذا المحرك لتخزينها
احصل على الاحتمالية
int8_t GetNextLikelihood( void ) const
استخراج احتمالية الثبات.
ستكون النتيجة صالحة فقط بعد اكتمال عملية المزامنة ، ضمن عمليات رد نداء OnSyncSucceeded و OnSyncFailed. وإلا فهو عابر وقد يكون الاحتمال الحالي بدلاً من الاحتمال التالي الذي سيتم استخدامه.
تفاصيل | |
---|---|
عائدات | احتمالية استخدام الرد في الطلب التالي |
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 بعد انتهاء المزامنة. لن يتم الكتابة فوق أي رد اتصال لاتصال TCP ، حيث سيتم إنشاء Weave Exchange جديد وتعيين عمليات رد النداء أعلى هذا السياق متاحًا فقط في حالة الخمول. غير متوفر في عمليات الاسترجاعات.
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | WEAVE_NO_ERROR على النجاح |
TimeSyncNode
TimeSyncNode( void )
وظائف محمية
إحباط الخطأ
void AbortOnError( const WEAVE_ERROR aCode )
إحباط داخلي إذا كان aCode ليس WEAVE_NO_ERROR
المزامنة التلقائية الآن
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 )
حث على معاودة الاتصال بطبقة التطبيق.
اضبط aIs بنجاح على خطأ للحث على رد الاتصال بالخطأ
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 )
الحصول على عدد جهات الاتصال الصالحة ، لكننا لم نتحدث معهم بعد.
احصل على إجابات موثوقة
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 )
تسجيل خطأ في الاتصال على جهة اتصال معينة ، وتقصير فترة الاكتشاف التلقائي إذا لزم الأمر ، يمكن أن يكون الاتصال فارغًا للإشارة إلى أنه ليس لدينا من نتحدث إليه ، وبالتالي فقط تقصير فترة الاكتشاف التلقائي
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 جديد للاتصال أحادي الإرسال
المتجر NotifyingContact
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 )
التهيئة لدور العميل.
يُقصد استخدامها داخليًا من قبل عائلة الأولية للوظائف العامة. يجب تعيين mClientState قبل العودة. غير متوفر في عمليات الاسترجاعات
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
| ||||||
عائدات | WEAVE_NO_ERROR على النجاح |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
التهيئة لدور الخادم.
يُقصد استخدامها داخليًا من قبل عائلة الأولية للوظائف العامة. يجب تعيين 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 )
HandSyncRequest
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 )
التعامل مع UnicastResponseTimeout
void HandleUnicastResponseTimeout( ExchangeContext *const ec )
التعامل مع UnicastSyncResponse
void HandleUnicastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
مقبض غير موثوق به AfterBootTimer
void HandleUnreliableAfterBootTimer( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
رد الاتصال من Weave Timer عندما مررنا حاجز غير موثوق به بعد التمهيد
IsOperationalState
bool IsOperationalState( ClientState aState )
تحديد ما إذا كانت حالة معينة تعمل أم لا.
طريقة ملائمة لتحديد ما إذا كانت ClientState تشير إلى حالة التشغيل ، أي أن العميل قد أكمل التهيئة وليس في عملية الإغلاق.
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | صواب إذا سقطت الحالة بعد اكتمال التهيئة وقبل بدء الإغلاق ، خطأ بخلاف ذلك. |
_OnSync نجح
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجّلة لشركة Oracle و/أو شركائها التابعين، وThread هي علامة تجارية مسجّلة لشركة .Thread Group, Inc.
تاريخ التعديل الأخير: 2020-08-28 (حسب التوقيت العالمي المتفَّق عليه)