nl:: örgü:: Profiller:: Zaman:: SingleSourceTimeSyncClient

Özet

Genel türler

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
Sıralama
bu Zaman Senkronizasyonu İstemcisinin mevcut durumu
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
Her iki zaman eşitleme girişimi tamamlandıktan sonra geri arama.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
Az önce bir Zaman Değişikliği Bildirimi aldığımızı belirtmek için geri arama.

Korumalı türler

@324 Sıralama

Genel özellikler

OnTimeChangeNotificationReceived

Korunan özellikler

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
tek yönlü uçuş süresini saklamak için kullanılır.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
bir sonuç kaydedildiğinde Zaman Damgasını saklamak için kullanılır
mRemoteTimestamp_usec
timesync_t
yanıt mesajı gönderilmek üzereyken, uzak düğümün sistem zamanını saklamak için kullanılır
mUnadjTimestampLastSent_usec
timesync_t

Kamu işlevleri

Abort (void)
void
Geçerli zaman senkronizasyon işlemini iptal edin.
GetClientState (void) const
Bu istemcinin mevcut durumunu alın.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Bu istemciyi başlat.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Senkronizasyon verilen kullanılarak bağlanması ve verilen işaretçiyi kullanarak bir geri arama yapar.

Korumalı fonksiyonlar

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
Zaman düzeltmesi için kayıtlı bilgileri geçersiz kılın.
IsRegisteredResultValid (void)
bool
Zaman düzeltmesi için kayıtlı bilgilerin geçerli olup olmadığını kontrol edin.
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

Korumalı statik fonksiyonlar

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

Genel türler

Müşteri durumu

 ClientState

bu Zaman Senkronizasyonu İstemcisinin mevcut durumu

Özellikleri
kClientState_Idle

Başlatıldı, Zaman Değişikliği Bildirimi bekleniyor, ancak gerçek bir zaman eşitleme işlemi olmuyor.

kClientState_Sync_1

İlk eşitleme girişimi üzerinde çalışıyor.

kClientState_Sync_2

İkinci kez eşitleme girişimi üzerinde çalışıyor.

SyncCompletionHandler

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

Her iki zaman eşitleme girişimi tamamlandıktan sonra geri arama.

aErrorCode WEAVE_NO_ERROR ise, en az bir deneme başarılı olmuştur. Aksi takdirde, her ikisi de aErrorCode'da başarısız oldu, en son hatayı gösterir.

Ayrıntılar
parametreler
[in] aApp
Init'te ayarlanan uygulama katmanı verilerine yönelik bir işaretçi.
[in] aErrorCode
WEAVE_NO_ERROR en az bir zamanın senkronizasyon işlemi başarılı olursa
[in] aCorrectedSystemTime
AErrorCode olduğunda geçerlidir WEAVE_NO_ERROR

TimeChangeBildirim İşleyicisi

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

Az önce bir Zaman Değişikliği Bildirimi aldığımızı belirtmek için geri arama.

En NULL'A ayarlayın Init . Ayarlanmazsa, Zaman Değişikliği Bildirimi yok sayılır. Uygulama katmanının bu geri aramada Abort ve Sync'i aramasına izin verilir.

Ayrıntılar
parametreler
[in] aApp
Init'te ayarlanan uygulama katmanı verilerine yönelik bir işaretçi.
[in] aEC
Bu gelen ileti için kullanılan ve özgünlüğünü doğrulamak için kullanılabilen Exchange bağlamı

Korumalı türler

@324

 @324

Genel özellikler

OnTimeChangeBildirim Alındı

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Korunan özellikler

uygulama

void * mApp

mBinding

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

tek yönlü uçuş süresini saklamak için kullanılır.

mIsInCallback

bool mIsInCallback

mOnSyncTamamlandı

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

bir sonuç kaydedildiğinde Zaman Damgasını saklamak için kullanılır

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

yanıt mesajı gönderilmek üzereyken, uzak düğümün sistem zamanını saklamak için kullanılır

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Kamu işlevleri

iptal

void Abort(
  void
)

Geçerli zaman senkronizasyon işlemini iptal edin.

Bırakın Bağlama . Etkin değişimi iptal et. Boş duruma geri dönün.

GetClientState

ClientState GetClientState(
  void
) const 

Bu istemcinin mevcut durumunu alın.

Ayrıntılar
İadeler
şu anki durum

İçinde

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

Bu istemciyi başlat.

Diğer işlevler kullanılmadan önce çağrılmalıdır. Zero/NULL, tüm dahili verileri başlatır ve Zaman Değişikliği Bildirimi ile kayıt olur.

Ayrıntılar
parametreler
[in] aApp
Daha yüksek katmana yapılan geri aramalarda kullanılan, daha yüksek katman verilerine yönelik bir işaretçi.
[in] aExchangeMgr
Zaman Değişikliği Bildirimi ileti işleyicisine kaydolurken kullanılacak bir Exchange Yöneticisi işaretçisi
İadeler
WEAVE_NO_ERROR başarı üzerine

senkronizasyon

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Senkronizasyon verilen kullanılarak bağlanması ve verilen işaretçiyi kullanarak bir geri arama yapar.

Devam eden bir zaman senkronizasyon işlemi varsa, geri arama yapılmadan dolaylı olarak iptal edilir. OnSyncCompleted geri aramasında kullanılamaz, ancak OnTimeChangeNotificationReceived içinde izin verilir. Hata durumunda, bu işlevden geri dönmeden önce Abort dolaylı olarak çağrılır.

Ayrıntılar
parametreler
[in] aBinding
Cilt saat sunucusu temas kullanılacak
[in] OnSyncCompleted
Zaman senkronizasyonu işlemleri tamamlandıktan sonra kullanılacak geri arama fonksiyonu
İadeler
WEAVE_NO_ERROR başarısına

Korumalı fonksiyonlar

EnterSync2

void EnterSync2(
  void
)

Son İşleme

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

InvalidateRegisteredResult

void InvalidateRegisteredResult(
  void
)

Zaman düzeltmesi için kayıtlı bilgileri geçersiz kılın.

IsRegisteredResultValid

bool IsRegisteredResultValid(
  void
)

Zaman düzeltmesi için kayıtlı bilgilerin geçerli olup olmadığını kontrol edin.

OnResponseTimeout

void OnResponseTimeout(
  void
)

OnSyncResponse

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

SonrakiDuruma Devam Et

void ProceedToNextState(
  void
)

RegisterSyncResultIfNewOrBetter

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
)

Korumalı statik fonksiyonlar

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *aEC
)

HandleSyncResponse

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

HandleTimeChangeBildirim

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