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
زمینه ارتباطی
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) typedef
void(*
پاسخ تماس درست قبل از محاسبه زمان تصحیح از پاسخ ها اتفاق می افتد.
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) typedef
bool(*
پاسخ تماس برای نشان دادن اینکه ما به تازگی یک درخواست همگام سازی زمانی دریافت کرده ایم.
ResponseStatus enum
وضعیت پاسخ ذخیره شده به یک مخاطب خاص
ServerState {
kServerState_UnreliableAfterBoot ,
kServerState_Idle
}
enum
وضعیت فعلی این سرور Time Sync
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
پاسخ تماس زمانی اتفاق می افتد که همگام سازی ناموفق در نظر گرفته شود، از جمله همگام سازی خودکار.
SyncSucceededHandler )(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) typedef
bool(*
پس از اینکه همگام‌سازی موفقیت‌آمیز در نظر گرفته شد، از جمله همگام‌سازی خودکار، پاسخ تماس رخ می‌دهد، اما قبل از اعمال نتیجه.
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) typedef
void(*
پاسخ تماس برای نشان دادن اینکه ما به تازگی یک اعلان تغییر زمان دریافت کرده ایم.

صفات عمومی

FilterTimeCorrectionContributor
OnSyncFailed
OnSyncRequestReceived
اگر تنظیم نشود، اجرای پیش‌فرض همیشه true را برمی‌گرداند
OnSyncSucceeded
اگر تنظیم نشود، رفتار پیش‌فرض همه نتایج را می‌گیرد، به جز اصلاحات بسیار کوچک سرور
OnTimeChangeNotificationReceived
mEncryptionType
uint8_t
روش رمزگذاری برای ارتباطات محلی
mKeyId
uint16_t
شناسه کلید مورد استفاده برای ارتباطات محلی

ویژگی های محافظت شده

mApp
void *
اشاره گر به داده های لایه بالاتر
mClientState
mConnectionToService
اتصال TCP برای صحبت با سرویس استفاده می شود.
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
اطلاعات تماس که در طول اکتشاف آموخته شد.
mIsAlwaysFresh
bool
mIsInCallback
bool
درست است اگر ما در یک تماس به لایه بالاتر هستیم
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)
یک اسلات برای ذخیره اطلاعات تماس برگردانید
GetClientStateName (void) const
const char *const
GetNextIdleContact (void)
مخاطب معتبر و بیکار بعدی را برای صحبت با او دریافت کنید
GetNumNotYetCompletedContacts (void)
int16_t
تعداد مخاطبین معتبر را دریافت کنید، اما هنوز با آنها صحبت نکرده ایم.
GetNumReliableResponses (void)
int16_t
تعداد پاسخ های "موثق" جمع آوری شده تا کنون را دریافت کنید.
InitState (const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
InvalidateAllContacts (void)
void
تمام مخاطبین محلی را باطل کنید
InvalidateServiceContact (void)
void
تماس با سرویس را باطل کنید
RegisterCommError ( Contact *const aContact)
void
خطای ارتباطی را در یک مخاطب خاص ثبت کنید و در صورت نیاز دوره کشف خودکار را کوتاه کنید. تماس می‌تواند NULL باشد تا نشان دهد کسی را نداریم که با او صحبت کنیم، و از این رو فقط دوره کشف خودکار را کوتاه کنید.
SendSyncRequest (bool *const rIsMessageSent, Contact *const aContact)
درخواست همگام سازی unicast را به یک مخاطب ارسال کنید.
SetAllCompletedContactsToIdle (void)
int16_t
همه مخاطبین تکمیل شده را دوباره به حالت غیرفعال بازنشانی کنید، اما پاسخ را لمس نکنید.
SetAllValidContactsToIdleAndInvalidateResponse (void)
int16_t
همه مخاطبین محلی معتبر را روی حالت بیکار تنظیم کنید و پاسخ را پاک کنید.
SetClientState (const ClientState state)
void
SetupUnicastCommContext ( Contact *const aContact)
ایجاد Weave Exchange جدید برای ارتباطات unicast
StoreNotifyingContact (const uint64_t aNodeId, const IPAddress & aNodeAddr)
void
اطلاعات تماس گره ای را که به تازگی اعلان تغییر زمان را برای ما ارسال کرده است ذخیره کنید
UpdateMulticastSyncResponse (const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
void
پاسخی را که از یک درخواست چندپخشی برمی‌گردد پردازش کنید
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

mActiveContact

Contact * mActiveContact

زمینه ارتباطی

mExchangeContext

ExchangeContext * mExchangeContext

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

EnterState_Discover

void EnterState_Discover(
  void
)

این توابع انتقال حالت داخلی هستند و نمی توانند کد خطا را برگردانند زیرا حالت قبلی راهی برای رسیدگی به آنها ندارد.

هر گونه خرابی در نهایت منجر به انتقال حالت دیگری می شود (ممکن است تایم اوت شود) اگر حتی تایمر هم از کار بیفتد، ما کلاهبرداری نداریم و ممکن است در یک حالت اشتباه معلق بمانیم.

EnterState_ServiceSync_1 را وارد کنید

void EnterState_ServiceSync_1(
  void
)

EnterState_ServiceSync_2 را وارد کنید

void EnterState_ServiceSync_2(
  void
)

EnterState_Sync_1 را وارد کنید

void EnterState_Sync_1(
  void
)

EnterState_Sync_2 را وارد کنید

void EnterState_Sync_2(
  void
)

انواع عمومی

دولت متکی

 ClientState

وضعیت فعلی این سرویس گیرنده Time Sync

CommState

 CommState

وضعیت ارتباط با یک مخاطب خاص

این به صورت عمومی است زیرا تماس به صورت عمومی است

ContributorFilter

void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)

پاسخ تماس درست قبل از محاسبه زمان تصحیح از پاسخ ها اتفاق می افتد.

لایه برنامه می تواند aContact[i].mResponseStatus را روی kResponseStatus_Invalid بازنویسی کند تا پاسخ در محاسبه نادیده گرفته شود.

جزئیات
مولفه های
[in] aApp
یک اشاره گر به داده های لایه برنامه، تنظیم شده در Init.
[in] aContact
مجموعه ای از مخاطبین و وضعیت پاسخ
[in] aSize
تعداد رکوردها در آرایه aContact

OnSyncRequestReceivedHandler

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

پاسخ تماس برای نشان دادن اینکه ما به تازگی یک درخواست همگام سازی زمانی دریافت کرده ایم.

جزئیات
مولفه های
[in] aApp
یک اشاره گر به داده های لایه برنامه، تنظیم شده در Init.
[in] aMsgInfo
یک WeaveMessageInfo حاوی اطلاعاتی درباره درخواست همگام‌سازی زمانی دریافت شده، از جمله اطلاعات مربوط به فرستنده.
[in] aLikelyhood
احتمال پاسخ طبق درخواست سازنده
[in] aIsTimeCoordinator
درست است اگر گره مبدأ یک هماهنگ کننده همگام سازی زمان باشد
برمی گرداند
false و موتور باید این درخواست را نادیده بگیرد

ResponseStatus

 ResponseStatus

وضعیت پاسخ ذخیره شده به یک مخاطب خاص

این به صورت عمومی است زیرا تماس به صورت عمومی است

ServerState

 ServerState

وضعیت فعلی این سرور Time Sync

خواص
kServerState_Idle

سرور آماده پاسخگویی به درخواست ها با تنظیمات عادی است

kServerState_UnreliableAfterBoot

زمانی که برای سرور در نظر گرفته شده است تا زمان سیستم خود را از طریق ابزارهای دیگر همگام‌سازی کند، تنها در صورتی معنی‌دار است که aIsAlwaysFresh در هنگام فراخوانی Init درست باشد.

SyncFailedHandler

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

پاسخ تماس زمانی اتفاق می افتد که همگام سازی ناموفق در نظر گرفته شود، از جمله همگام سازی خودکار.

توجه داشته باشید که اگر Abort برای توقف همگام سازی فراخوانی شود، تماس برگشتی اتفاق نمی افتد

جزئیات
مولفه های
[in] aApp
یک اشاره گر به داده های لایه برنامه، تنظیم شده در Init.
[in] aErrorCode
دلیل شکست

SyncSucceededHandler

bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)

پس از اینکه همگام‌سازی موفقیت‌آمیز در نظر گرفته شد، از جمله همگام‌سازی خودکار، پاسخ تماس رخ می‌دهد، اما قبل از اعمال نتیجه.

توجه داشته باشید که موفقیت به این معنی نیست که نتایج قابل اجرا داشته باشیم. در صورت عدم دریافت پاسخ، aNumContributor روی 0 تنظیم می شود. لایه برنامه می تواند aContact[i].mResponseStatus را روی kResponseStatus_Invalid بازنویسی کند تا پاسخ در محاسبه نادیده گرفته شود.

جزئیات
مولفه های
[in] aApp
یک اشاره گر به داده های لایه برنامه، تنظیم شده در Init.
[in] aOffsetUsec
مقدار اصلاح در استفاده
[in] aIsReliable
اصلاحی است که توسط منطق داخلی قابل اعتماد است
[in] aIsServer
آیا اصلاح از سرور(های) انجام می شود
[in] aNumContributor
تعداد گره هایی که در این اصلاح نقش داشته اند. 0 به این معنی است که هیچ نتیجه ای از عملیات همگام سازی وجود ندارد.
برمی گرداند
درست است اگر از این افست برای تنظیم زمان سیستم استفاده شود. در صورتی که aNumContributor 0 باشد، مقدار بازگشتی نادیده گرفته می شود.

TimeChangeNotification Handler

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

پاسخ تماس برای نشان دادن اینکه ما به تازگی یک اعلان تغییر زمان دریافت کرده ایم.

اگر حالت همگام‌سازی خودکار فعال باشد، مدت کوتاهی پس از این تماس به‌طور خودکار، همگام‌سازی زمانی برنامه‌ریزی می‌شود. در غیر این صورت لایه برنامه می تواند انتخاب کند که خانواده توابع Sync را فراخوانی کند تا مستقیماً عملیات همگام سازی را آغاز کند که توسط قانون عادی عدم دسترسی در تماس برگشتی محدود نشده است. البته لازم به ذکر است که این callback ویژه همچنان در بالای پشته callback لایه تبادل Weave قرار دارد.

جزئیات
مولفه های
[in] aApp
یک اشاره گر به داده های لایه برنامه، تنظیم شده در Init.
[in] aNodeId
درخواست شناسه گره
[in] aNodeAddr
درخواست آدرس گره

صفات عمومی

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
)

همگام سازی خودکار را فعال کنید

فقط در حالت بیکار موجود است. کشف بلافاصله اتفاق می افتد در تماس های برگشتی موجود نیست.

جزئیات
مولفه های
[in] aSyncPeriod_msec
تعداد msec بین همگام سازی
[in] aNominalDiscoveryPeriod_msec
تعداد msec بین کشف، در صورتی که خطای ارتباطی مشاهده نشود
[in] aShortestDiscoveryPeriod_msec
در صورت مشاهده خطای ارتباط، کوتاهترین زمان بین کشف، بر حسب میلی ثانیه
برمی گرداند
WEAVE_NO_ERROR در موفقیت

GetCapacityOfContactList

int GetCapacityOfContactList(
  void
) const 

دریافت کننده ساده برای حداکثر تعداد مخاطبینی که این موتور برای ذخیره سازی پیکربندی شده است

GetClientState

ClientState GetClientState(
  void
) const 

دریافت کننده ساده برای دولت مشتری

GetNextLikelihood

int8_t GetNextLikelihood(
  void
) const 

استخراج احتمال پایداری

نتیجه تنها پس از تکمیل عملیات همگام‌سازی، در فراخوان‌های OnSyncSucceeded و OnSyncFailed معتبر خواهد بود. در غیر این صورت گذرا است و ممکن است احتمال فعلی باشد تا احتمال استفاده بعدی.

جزئیات
برمی گرداند
احتمال استفاده از پاسخ در درخواست بعدی

GetServerState

ServerState GetServerState(
  void
) const 

دریافت کننده ساده برای وضعیت سرور

InitClient

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

این مشتری را مقداردهی اولیه کنید.

در تماس های برگشتی موجود نیست

جزئیات
مولفه های
[in] aApp
اشاره‌گر به داده‌های لایه بالاتر، که در تماس‌ها به لایه بالاتر استفاده می‌شود.
[in] aExchangeMgr
یک اشاره گر به شیء Weave Exchange Manager در سطح سیستم
[in] aRole
می تواند kTimeSyncRole_Client یا kTimeSyncRole_Coordinator باشد
[in] aEncryptionType
نوع رمزگذاری که برای درخواست ها و پاسخ ها استفاده می شود
[in] aKeyId
شناسه کلید برای درخواست ها و پاسخ ها استفاده می شود
[in] aInitialLikelyhood
احتمال اولیه برای استفاده در مرحله کشف
برمی گرداند
WEAVE_NO_ERROR در موفقیت

InitCoordinator

WEAVE_ERROR InitCoordinator(
  nl::Weave::WeaveExchangeManager *aExchangeMgr,
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int32_t aSyncPeriod_msec,
  const int32_t aNominalDiscoveryPeriod_msec,
  const int32_t aShortestDiscoveryPeriod_msec
)

این هماهنگ کننده را راه اندازی کنید.

جزئیات
مولفه های
[in] aExchangeMgr
یک اشاره گر به شیء Weave Exchange Manager در سطح سیستم
[in] aEncryptionType
نوع رمزگذاری که برای درخواست ها و پاسخ ها استفاده می شود
[in] aKeyId
شناسه کلید برای درخواست ها و پاسخ ها استفاده می شود
[in] aSyncPeriod_msec
تعداد msec بین همگام سازی
[in] aNominalDiscoveryPeriod_msec
در صورت عدم مشاهده خطای ارتباطی، کوتاهترین زمان بین کشف، بر حسب میلی ثانیه
[in] aShortestDiscoveryPeriod_msec
کمترین تعداد msec بین کشف، در صورتی که خطای ارتباطی مشاهده شده باشد
برمی گرداند
WEAVE_NO_ERROR در موفقیت

InitServer

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

مقداردهی اولیه برای نقش سرور باید به عنوان اولین تابع پس از ساخت شیء فراخوانی شود، اگر قصد داریم یک سرور همگام سازی زمان باشد.

در تماس های برگشتی موجود نیست

جزئیات
مولفه های
[in] aApp
اشاره‌گر به داده‌های لایه بالاتر، که در تماس‌ها به لایه بالاتر استفاده می‌شود.
[in] aExchangeMgr
یک اشاره گر به شیء Weave Exchange Manager در سطح سیستم
[in] aIsAlwaysFresh
می تواند روی true تنظیم شود تا نشان دهد سرور همیشه به جز برای زمان نامطمئن اولیه، همگام سازی می شود. برای هماهنگ کننده باید روی false تنظیم شود.
برمی گرداند
WEAVE_NO_ERROR در موفقیت

MulticastTimeChangeNotification

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

توسط لایه بالاتر به اعلان تغییر زمان چندپخشی فراخوانی می شود.

در تماس های برگشتی موجود نیست.

جزئیات
مولفه های
[in] aEncryptionType
نوع رمزگذاری که برای این اعلان استفاده می شود
[in] aKeyId
شناسه کلیدی که برای این اعلان استفاده می شود

RegisterCorrectionFromServerOrNtp

void RegisterCorrectionFromServerOrNtp(
  void
)

توسط لایه بالاتر فراخوانی می شود تا نشان دهد که ما به تازگی یک دور همگام سازی زمانی را با هر سرور یا از طریق برخی از ابزارهای قابل اعتماد مانند NTP به پایان رسانده ایم.

RegisterLocalSyncOperation

void RegisterLocalSyncOperation(
  const uint8_t aNumContributor
)

توسط لایه بالاتر فراخوانی می شود تا نشان دهد که ما به تازگی یک دور همگام سازی زمانی را با سایر هماهنگ کننده های محلی به پایان رسانده ایم.

جزئیات
مولفه های
[in] aNumContributor
تعداد هماهنگ کننده هایی که به این همگام سازی زمان کمک کردند

خاموش شدن

WEAVE_ERROR Shutdown(
  void
)

سرویس را متوقف کنید، مهم نیست که کدام نقش را ایفا می کند.

این تابع باید برای بازیابی صحیح منابع تخصیص داده شده فراخوانی شود، قبل از اینکه بتوان با هر یک از توابع init فراخوانی دیگری انجام داد. در تماس های برگشتی موجود نیست.

جزئیات
برمی گرداند
WEAVE_NO_ERROR در موفقیت

همگام سازی

WEAVE_ERROR Sync(
  const bool aForceDiscoverAgain
)

با استفاده از مخاطبین موجود همگام سازی کنید.

اگر مخاطب معتبری در دسترس نباشد، عملیات همگام‌سازی ممکن است با شکست مواجه شود. aForceDiscoverAgain را روی true تنظیم کنید تا فوراً کشف شود. فقط در حالت بیکار موجود است. در تماس های برگشتی موجود نیست.

جزئیات
مولفه های
[in] aForceDiscoverAgain
درست است اگر تمام کنتاکت های موجود شسته شده و عملیات کشف انجام شود
برمی گرداند
WEAVE_NO_ERROR در موفقیت

SyncWithNodes

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

با استفاده از لیست داده شده از مخاطبین همگام سازی کنید.

لیست مخاطبین موجود پاک می شود. فقط در حالت بیکار موجود است. در تماس های برگشتی موجود نیست.

جزئیات
مولفه های
[in] aNumNode
تعداد تماس در آرایه aNodes
[in] aNodes
مجموعه ای از سوابق تماس
برمی گرداند
WEAVE_NO_ERROR در موفقیت

SyncWithService

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

با استفاده از اتصال TCP داده شده و رمزگذاری و شناسه کلید مرتبط، همگام سازی کنید.

تماس گیرنده باید پس از پایان همگام سازی، مالکیت اتصال TCP را در اختیار بگیرد. هیچ تماس برگشتی برای اتصال TCP رونویسی نمی‌شود، زیرا یک Weave Exchange جدید ایجاد می‌شود و تماس‌های برگشتی در بالای آن زمینه تنظیم می‌شوند که فقط در حالت بیکار در دسترس هستند. در تماس های برگشتی موجود نیست.

جزئیات
مولفه های
[in] aConnection
اشاره گر به اتصال Weave
برمی گرداند
WEAVE_NO_ERROR در موفقیت

TimeSyncNode

 TimeSyncNode(
  void
)

توابع محافظت شده

AborOnError

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
)

القای فراخوانی به لایه برنامه

aIsSuccessful را روی false قرار دهید تا خطای برگشتی ایجاد شود

ClearState

void ClearState(
  void
)

DestroyCommContext

bool DestroyCommContext(
  void
)

Weave ExchangeContext را ببندید

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 را تنظیم کنید. در تماس های برگشتی موجود نیست

جزئیات
مولفه های
[in] aEncryptionType
نوع رمزگذاری که برای درخواست ها و پاسخ ها استفاده می شود
[in] aKeyId
شناسه کلیدی که برای درخواست ها و پاسخ ها استفاده می شود
[in] aInitialLikelyhood
احتمال اولیه برای استفاده در مرحله کشف
برمی گرداند
WEAVE_NO_ERROR در موفقیت

_InitServer

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

برای نقش سرور مقداردهی اولیه کنید.

در نظر گرفته شده برای استفاده داخلی توسط خانواده توابع عمومی Init. قبل از بازگشت باید mClientState را تنظیم کنید. در تماس های برگشتی موجود نیست

جزئیات
مولفه های
[in] aIsAlwaysFresh
می تواند روی true تنظیم شود تا نشان دهد سرور همیشه به جز برای زمان نامطمئن اولیه، همگام سازی می شود. برای هماهنگ کننده باید روی false تنظیم شود.
برمی گرداند
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 نشان دهنده وضعیت عملیاتی است یا خیر، یعنی کلاینت مقداردهی اولیه را کامل کرده است و در حال خاموش شدن نیست.

جزئیات
مولفه های
[in] aState
وضعیت مورد ارزیابی قرار گیرد
برمی گرداند
اگر حالت بعد از تکمیل اولیه و قبل از شروع خاموش شدن سقوط کند، در غیر این صورت 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
)