nl :: نسج:: مظهر:: زمن:: سينجل سورس تايم سينككليينت

ملخص

الأنواع العامة

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
تعداد
الحالة الحالية لعميل مزامنة الوقت هذا
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
رد بعد اكتمال محاولتي مزامنة الوقت.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
رد الاتصال للإشارة إلى أننا تلقينا للتو إشعارًا بتغيير الوقت.

الأنواع المحمية

@324 تعداد

السمات العامة

OnTimeChangeNotificationReceived

السمات المحمية

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
تستخدم لتخزين وقت الرحلة في اتجاه واحد.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
تُستخدم لتخزين الطابع الزمني عند تسجيل نتيجة
mRemoteTimestamp_usec
timesync_t
تستخدم لتخزين وقت نظام العقدة البعيدة ، عندما كانت رسالة الاستجابة على وشك الإرسال
mUnadjTimestampLastSent_usec
timesync_t

الوظائف العامة

Abort (void)
void
إحباط عملية مزامنة الوقت الحالي.
GetClientState (void) const
استرداد الحالة الحالية لهذا العميل.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
تهيئة هذا العميل.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
مزامنة باستخدام نظرا التجليد ويجعل رد باستخدام مؤشر المقدمة.

وظائف محمية

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
إبطال المعلومات المسجلة لتصحيح الوقت.
IsRegisteredResultValid (void)
bool
تحقق مما إذا كانت المعلومات المسجلة لتصحيح الوقت صحيحة.
OnResponseTimeout (void)
void
OnSyncResponse (uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void
ProceedToNextState (void)
void
RegisterSyncResultIfNewOrBetter (const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
void
SendSyncRequest (void)
SetClientState (const ClientState state)
void
_AbortWithCallback (const WEAVE_ERROR aErrorCode)
void

وظائف ثابتة محمية

HandleResponseTimeout ( ExchangeContext *aEC)
void
HandleSyncResponse ( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void
HandleTimeChangeNotification ( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void

الأنواع العامة

دولة عميلة

 ClientState

الحالة الحالية لعميل مزامنة الوقت هذا

الخصائص
kClientState_Idle

تم التهيئة ، في انتظار إعلام تغيير الوقت ، ولكن لا تحدث عملية مزامنة الوقت الفعلي.

kClientState_Sync_1

العمل على أول محاولة مزامنة.

kClientState_Sync_2

جارٍ العمل على محاولة المزامنة الثانية.

SyncCompletionHandler

void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)

رد بعد اكتمال محاولتي مزامنة الوقت.

إذا كان رمز الخطأ هو WEAVE_NO_ERROR ، فقد نجحت محاولة واحدة على الأقل. وإلا فشل كلاهما عند aErrorCode يشير إلى الفشل الأخير.

تفاصيل
المعلمات
[in] aApp
مؤشر لبيانات طبقة التطبيق ، تم تعيينه في Init.
[in] aErrorCode
WEAVE_NO_ERROR إذا العملية مرة واحدة على الأقل المزامنة ناجحة
[in] aCorrectedSystemTime
صالحا إلا إذا aErrorCode هو WEAVE_NO_ERROR

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)

رد الاتصال للإشارة إلى أننا تلقينا للتو إشعارًا بتغيير الوقت.

تعيين إلى NULL في التهيئة . إذا لم يتم التعيين ، فسيتم تجاهل إعلام تغيير الوقت. يُسمح لطبقة التطبيق باستدعاء Abort and Sync في رد الاتصال هذا.

تفاصيل
المعلمات
[in] aApp
مؤشر لبيانات طبقة التطبيق ، تم تعيينه في Init.
[in] aEC
سياق التبادل المستخدم لهذه الرسالة الواردة ، والذي يمكن استخدامه للتحقق من صحتها

الأنواع المحمية

@ 324

 @324

السمات العامة

تم استلام OnTimeChangeNotification

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

السمات المحمية

تطبيق mApp

void * mApp

تجليد

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

تستخدم لتخزين وقت الرحلة في اتجاه واحد.

mIsInCallback

bool mIsInCallback

mOnSyncCompleted

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

تُستخدم لتخزين الطابع الزمني عند تسجيل نتيجة

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

تُستخدم لتخزين وقت نظام العقدة البعيدة ، عندما كانت رسالة الاستجابة على وشك الإرسال

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

الوظائف العامة

إحباط

void Abort(
  void
)

إحباط عملية مزامنة الوقت الحالي.

الافراج عن التجليد . إحباط التبادل النشط. العودة إلى حالة الخمول.

GetClientState

ClientState GetClientState(
  void
) const 

استرداد الحالة الحالية لهذا العميل.

تفاصيل
عائدات
الوضع الحالي

فيه

WEAVE_ERROR Init(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr
)

تهيئة هذا العميل.

يجب استدعاؤه قبل استخدام الوظائف الأخرى. يقوم Zero / NULL بتهيئة جميع البيانات الداخلية والتسجيل باستخدام إشعار تغيير الوقت

تفاصيل
المعلمات
[in] aApp
مؤشر لبيانات الطبقة العليا ، يستخدم في عمليات الاسترجاعات للطبقة العليا.
[in] aExchangeMgr
مؤشر إلى Exchange Manager ، والذي يمكن استخدامه في التسجيل لمعالج رسائل إعلام تغيير الوقت
عائدات
WEAVE_NO_ERROR على النجاح

مزامنة

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

مزامنة باستخدام نظرا التجليد ويجعل رد باستخدام مؤشر المقدمة.

إذا كانت هناك عملية مزامنة زمنية جارية ، فسيتم إحباطها ضمنيًا دون إجراء رد الاتصال. غير متاح في رد الاتصال OnSyncCompleted ، لكن مسموح به في OnTimeChangeNotificationReceived. عند حدوث خطأ ، سيتم استدعاء "إحباط" ضمنيًا قبل العودة من هذه الوظيفة.

تفاصيل
المعلمات
[in] aBinding
ملزمة لاستخدامها في الاتصال خادم الوقت
[in] OnSyncCompleted
يتم استخدام وظيفة رد الاتصال بعد اكتمال عمليات مزامنة الوقت
عائدات
WEAVE_NO_ERROR على النجاح

وظائف محمية

EnterSync2

void EnterSync2(
  void
)

المعالجة النهائية

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

InvalidateRegisteredResult

void InvalidateRegisteredResult(
  void
)

إبطال المعلومات المسجلة لتصحيح الوقت.

IsRegisteredResultValid

bool IsRegisteredResultValid(
  void
)

تحقق مما إذا كانت المعلومات المسجلة لتصحيح الوقت صحيحة.

OnResponseTimeout

void OnResponseTimeout(
  void
)

OnSyncResponse

void OnSyncResponse(
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

ProceedToNextState

void ProceedToNextState(
  void
)

تسجيل SyncResultIfNewOrBetter

void RegisterSyncResultIfNewOrBetter(
  const timesync_t aNow_usec,
  const timesync_t aRemoteTimestamp_usec,
  const int32_t aFlightTime_usec
)

SendSyncRequest

WEAVE_ERROR SendSyncRequest(
  void
)

SetClientState

void SetClientState(
  const ClientState state
)

_AbortWithCallback

void _AbortWithCallback(
  const WEAVE_ERROR aErrorCode
)

وظائف ثابتة محمية

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *aEC
)

HandleSyncResponse

void HandleSyncResponse(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

HandleTimeChangeNotification

void HandleTimeChangeNotification(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)