nl:: بافت:: پروفایل ها:: زمان:: 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 | enum وضعیت فعلی این سرویس گیرنده Time Sync |
CommState | enum وضعیت ارتباط با یک مخاطب خاص |
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 | enum وضعیت پاسخ ذخیره شده به یک مخاطب خاص |
ServerState { | enum وضعیت فعلی این سرور Time Sync |
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 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 خطای ارتباطی را در یک مخاطب خاص ثبت کنید و در صورت نیاز دوره کشف خودکار را کوتاه کنید. تماس میتواند 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 پاسخی را که از یک درخواست چندپخشی برمیگردد پردازش کنید |
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse) | void پاسخی را که از یک درخواست unicast برمیگردد پردازش کنید |
_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
حالت های مورد استفاده برای ویژگی همگام سازی خودکار.
mIsUrgent DiscoveryPending
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
وضعیت فعلی این سرویس گیرنده Time Sync
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
وضعیت فعلی این سرور Time Sync
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_Invalid بازنویسی کند تا پاسخ در محاسبه نادیده گرفته شود.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
برمی گرداند | درست است اگر از این افست برای تنظیم زمان سیستم استفاده شود. در صورتی که aNumContributor 0 باشد، مقدار بازگشتی نادیده گرفته می شود. |
TimeChangeNotification Handler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
پاسخ تماس برای نشان دادن اینکه ما به تازگی یک اعلان تغییر زمان دریافت کرده ایم.
اگر حالت همگامسازی خودکار فعال باشد، مدت کوتاهی پس از این تماس بهطور خودکار، همگامسازی زمانی برنامهریزی میشود. در غیر این صورت لایه برنامه می تواند انتخاب کند که خانواده توابع Sync را فراخوانی کند تا مستقیماً عملیات همگام سازی را آغاز کند که توسط قانون عادی عدم دسترسی در تماس برگشتی محدود نشده است. البته لازم به ذکر است که این callback ویژه همچنان در بالای پشته callback لایه تبادل Weave قرار دارد.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
صفات عمومی
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
اگر تنظیم نشود، اجرای پیشفرض همیشه true را برمیگرداند
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
اگر تنظیم نشود، رفتار پیشفرض همه نتایج را میگیرد، به جز اصلاحات بسیار کوچک سرور
OnTimeChangeNotification Received
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
درست است اگر ما در یک تماس به لایه بالاتر هستیم
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 )
موتور را مجبور کنید به حالت بیکار برگردد و هر کاری را که انجام می دهد متوقف کند.
توجه داشته باشید هیچ موفقیت یا شکست همگام سازی نامیده نمی شود. تمام صرافی های بافت بسته خواهد شد. اتصالات 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
دریافت کننده ساده برای حداکثر تعداد مخاطبینی که این موتور برای ذخیره سازی پیکربندی شده است
GetNextLikelihood
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 )
با استفاده از مخاطبین موجود همگام سازی کنید.
اگر مخاطب معتبری در دسترس نباشد، عملیات همگامسازی ممکن است با شکست مواجه شود. aForceDiscoverAgain را روی true تنظیم کنید تا فوراً کشف شود. فقط در حالت بیکار موجود است. در تماس های برگشتی موجود نیست.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | WEAVE_NO_ERROR در موفقیت |
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
با استفاده از لیست داده شده از مخاطبین همگام سازی کنید.
لیست مخاطبین موجود پاک می شود. فقط در حالت بیکار موجود است. در تماس های برگشتی موجود نیست.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | WEAVE_NO_ERROR در موفقیت |
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
با استفاده از اتصال TCP داده شده و رمزگذاری و شناسه کلید مرتبط، همگام سازی کنید.
تماس گیرنده باید پس از پایان همگام سازی، مالکیت اتصال TCP را در اختیار بگیرد. هیچ تماس برگشتی برای اتصال TCP رونویسی نمیشود، زیرا یک Weave Exchange جدید ایجاد میشود و تماسهای برگشتی در بالای آن زمینه تنظیم میشوند که فقط در حالت بیکار در دسترس هستند. در تماس های برگشتی موجود نیست.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | WEAVE_NO_ERROR در موفقیت |
TimeSyncNode
TimeSyncNode( void )
توابع محافظت شده
AutoSyncNow
void AutoSyncNow( void )
عملکرد داخلی برای شروع یک جلسه همگام سازی خودکار
CallbackForSyncCompletion
WEAVE_ERROR CallbackForSyncCompletion( const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec )
القای فراخوانی به لایه برنامه
aIsSuccessful را روی 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 )
خطای ارتباطی را در یک مخاطب خاص ثبت کنید و در صورت نیاز دوره کشف خودکار را کوتاه کنید. تماس میتواند 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 )
پاسخی را که از یک درخواست چندپخشی برمیگردد پردازش کنید
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
پاسخی را که از یک درخواست unicast برمیگردد پردازش کنید
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
برای نقش مشتری مقداردهی اولیه کنید.
در نظر گرفته شده برای استفاده داخلی توسط خانواده توابع عمومی Init. قبل از بازگشت باید mClientState را تنظیم کنید. در تماس های برگشتی موجود نیست
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
برمی گرداند | WEAVE_NO_ERROR در موفقیت |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
برای نقش سرور مقداردهی اولیه کنید.
در نظر گرفته شده برای استفاده داخلی توسط خانواده توابع عمومی 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 نشان دهنده وضعیت عملیاتی است یا خیر، یعنی کلاینت مقداردهی اولیه را کامل کرده است و در حال خاموش شدن نیست.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | اگر حالت بعد از تکمیل اولیه و قبل از شروع خاموش شدن سقوط کند، در غیر این صورت 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 )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-13 بهوقت ساعت هماهنگ جهانی.