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
|
إذا لم يتم الضبط، ستعرض طريقة التنفيذ التلقائية القيمة "صحيح" دائمًا
|
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
|
دالة getter بسيطة لحالة العميل
|
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
إغلاق Weave 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
mIsAutoSyncEnabled
bool mIsAutoSyncEnabled
والحالات المستخدمة لميزة المزامنة التلقائية.
mIsUrgentDiscoveryPending
bool mIsUrgentDiscoveryPending
mNominalDiscoveryPeriod_msec
int32_t mNominalDiscoveryPeriod_msec
mShortestDiscoveryPeriod_msec
int32_t mShortestDiscoveryPeriod_msec
mSyncPeriod_msec
int32_t mSyncPeriod_msec
mExchangeContext
ExchangeContext * mExchangeContext
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
EnterState_Discover
void EnterState_Discover( void )
دوال الانتقال الخاصة بالحالة داخلية ولا يمكنها عرض رمز خطأ لأن الحالة السابقة لن تكون قادرة على التعامل معها.
سيؤدي أي إخفاق إلى انتقال حالة آخر في نهاية المطاف (قد يكون مهلة) إذا فشل المؤقت حتى، ولم ننفذ أي نهج، ويمكن أن نتوقف في حالة خاطئة
EnterState_ServiceSync_1
void EnterState_ServiceSync_1( void )
EnterState_ServiceSync_2
void EnterState_ServiceSync_2( void )
EnterState_Sync_1
void EnterState_Sync_1( void )
EnterState_Sync_2
void EnterState_Sync_2( void )
الأنواع العلنية
ClientState
ClientState
الحالة الحالية لبرنامج مزامنة الوقت هذا
CommState
CommState
حالة اتصال معينة بجهة اتصال معينة.
هذه المعلومات عامة لأن جهة الاتصال تكون عامة.
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
تحدث هذه معاودة الاتصال قبل أن نحسب تصحيح الوقت من الردود.
يمكن أن تستبدل طبقة التطبيق aContact[i].mResponseStatus إلى kResponseStatus_ invalid حتى يتم تجاهل الاستجابة في العملية الحسابية.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
معاودة الاتصال للإشارة إلى أننا تلقينا للتو طلب مزامنة وقت.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
المرتجعات |
false وسيتجاهل المحرك هذا الطلب
|
ResponseStatus
ResponseStatus
حالة الاستجابة المخزنة لجهة اتصال معينة.
هذه المعلومات عامة لأن جهة الاتصال تكون عامة.
ServerState
ServerState
الحالة الحالية لخادم مزامنة الوقت هذا
أماكن إقامة | |
---|---|
kServerState_Idle
|
كان الخادم جاهزًا للاستجابة للطلبات باستخدام الإعدادات العادية. |
kServerState_UnreliableAfterBoot
|
الوقت المحجوز للخادم لمزامنة وقت النظام باستخدام وسائل أخرى ذات معنى فقط إذا كانت قيمة aIs AlwaysFresh صحيحة عند استدعاء Init |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
تحدث معاودة الاتصال عند اعتبار المزامنة قد تعذّر إتمامها، بما في ذلك المزامنة التلقائية.
تجدر الإشارة إلى أنّ معاودة الاتصال لا تحدث إذا تم استدعاء الإلغاء لإيقاف المزامنة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
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_Invalid حتى يتم تجاهل الاستجابة في العملية الحسابية.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||
المرتجعات |
true إذا تم استخدام هذه الإزاحة لضبط وقت النظام. وفي حال كانت قيمة aNumContributor 0، سيتم تجاهل القيمة المعروضة.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
معاودة الاتصال للإشارة إلى أننا تلقينا للتو إشعارًا بتغيير الوقت.
إذا تم تفعيل وضع المزامنة التلقائية، ستتم جدولة مزامنة الوقت بعد وقت قصير من معاودة الاتصال هذه تلقائيًا. وإلا، يمكن لطبقة التطبيق اختيار استدعاء مجموعة دوال المزامنة لبدء عملية المزامنة مباشرةً، والتي لا تقيّدها قاعدة عدم التوفّر العادية لمعاودة الاتصال. ومع ذلك، يجب ملاحظة أن معاودة الاتصال الخاصة لا تزال على حزمة استدعاء طبقة تبادل Weave.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
السمات العامة
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
إذا لم يتم الضبط، ستعرض طريقة التنفيذ التلقائية القيمة "صحيح" دائمًا
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 و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 )
من أجل دور الخادم، يجب استدعاء هذه الوظيفة كأول وظيفة بعد إنشاء الكائن إذا كان الغرض منها أن يكون خادم مزامنة الوقت.
غير متاحة في عمليات معاودة الاتصال
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
المرتجعات |
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 Exchange جديد ولا تتوفر عمليات استدعاء الاتصال في أعلى هذا السياق إلا في حالة عدم النشاط. ولا تتوفر في عمليات الاستدعاء.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
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 على false لإحداث خطأ في معاودة الاتصال
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
إرجاع فتحة لتخزين معلومات الاتصال
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
الحصول على جهة الاتصال التالية الصالحة وغير النشطة للتحدث إليها
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
الحصول على عدد جهات الاتصال الصالحة، ولكننا لم نتحدث إليها بعد.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
الحصول على عدد الردود "الموثوقة" التي تم جمعها حتى الآن.
لتحديد ما إذا كنا قد جمعنا عددًا كافيًا من الردود
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
إلغاء صلاحية جميع جهات الاتصال المحلية
InvalidateServiceContact
void InvalidateServiceContact( void )
إلغاء صلاحية الاتصال بالخدمة
RegisterCommError
void RegisterCommError( Contact *const aContact )
تسجيل خطأ في الاتصال بجهة اتصال معينة وتقصير فترة الاكتشاف التلقائي إذا لزم الأمر، يمكن أن تكون جهة الاتصال فارغة للإشارة إلى أنه ليس لدينا أي شخص نتحدث إليه، وبالتالي تقصير فترة الاكتشاف التلقائي فقط
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 عند النجاح
|
_منسق إيقاف التشغيل
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 )