Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl:: Menenun:: Profil:: Waktu:: SingleSourceTimeSyncClient

Ringkasan

Tipe publik

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
enum
keadaan saat ini dari Klien Sinkronisasi Waktu ini
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
Panggilan balik setelah kedua upaya sinkronisasi waktu selesai.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
Panggilan balik untuk menunjukkan bahwa kami baru saja menerima Pemberitahuan Perubahan Waktu.

Jenis yang dilindungi

@324 enum

Atribut publik

OnTimeChangeNotificationReceived

Atribut yang dilindungi

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
digunakan untuk menyimpan waktu penerbangan satu arah.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
digunakan untuk menyimpan Timestamp ketika hasil didaftarkan
mRemoteTimestamp_usec
timesync_t
digunakan untuk menyimpan waktu sistem node jarak jauh, ketika pesan respons akan dikirim
mUnadjTimestampLastSent_usec
timesync_t

Fungsi publik

Abort (void)
void
Batalkan operasi sinkronisasi waktu saat ini.
GetClientState (void) const
Ambil status klien ini saat ini.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Inisialisasi klien ini.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Sync menggunakan yang diberikan Binding dan membuat panggilan balik menggunakan pointer yang disediakan.

Fungsi yang dilindungi

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
Batalkan informasi yang terdaftar untuk koreksi waktu.
IsRegisteredResultValid (void)
bool
Periksa apakah informasi yang terdaftar untuk koreksi waktu valid.
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

Fungsi statis yang dilindungi

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

Tipe publik

Negara Klien

 ClientState

keadaan saat ini dari Klien Sinkronisasi Waktu ini

Properti
kClientState_Idle

Diinisialisasi, menunggu Pemberitahuan Perubahan Waktu, tetapi tidak ada operasi sinkronisasi waktu yang sebenarnya terjadi.

kClientState_Sync_1

Bekerja pada upaya sinkronisasi pertama kali.

kClientState_Sync_2

Bekerja pada upaya sinkronisasi kedua kalinya.

SyncCompletionHandler

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

Panggilan balik setelah kedua upaya sinkronisasi waktu selesai.

Jika aErrorCode adalah WEAVE_NO_ERROR, setidaknya satu upaya telah berhasil. Jika tidak, keduanya gagal di aErrorCode menunjukkan kegagalan terbaru.

Detail
Parameter
[in] aApp
Pointer ke data lapisan aplikasi, diatur di Init.
[in] aErrorCode
WEAVE_NO_ERROR jika operasi minimal satu kali sync berhasil
[in] aCorrectedSystemTime
Hanya berlaku jika aErrorCode adalah WEAVE_NO_ERROR

TimeChangeNotificationHandler

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

Panggilan balik untuk menunjukkan bahwa kami baru saja menerima Pemberitahuan Perubahan Waktu.

Diatur untuk NULL di Init . Jika tidak disetel, Pemberitahuan Perubahan Waktu akan diabaikan. Lapisan aplikasi diizinkan untuk memanggil Abort and Sync dalam panggilan balik ini.

Detail
Parameter
[in] aApp
Pointer ke data lapisan aplikasi, diatur di Init.
[in] aEC
Konteks pertukaran yang digunakan untuk pesan masuk ini, yang dapat digunakan untuk memvalidasi keasliannya

Jenis yang dilindungi

@324

 @324

Atribut publik

OnTimeChangeNotificationDiterima

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Atribut yang dilindungi

mApp

void * mApp

mMengikat

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

digunakan untuk menyimpan waktu penerbangan satu arah.

mIsInCallback

bool mIsInCallback

mOnSyncSelesai

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

digunakan untuk menyimpan Timestamp ketika hasil didaftarkan

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

digunakan untuk menyimpan waktu sistem node jarak jauh, ketika pesan respons akan dikirim

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Fungsi publik

Menggugurkan

void Abort(
  void
)

Batalkan operasi sinkronisasi waktu saat ini.

Rilis Binding . Batalkan pertukaran aktif. Pindah kembali ke keadaan idle.

GetClientState

ClientState GetClientState(
  void
) const 

Ambil status klien ini saat ini.

Detail
Kembali
kondisi saat ini

init

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

Inisialisasi klien ini.

Harus dipanggil sebelum fungsi lain dapat digunakan. Zero/NULL menginisialisasi semua data internal dan mendaftar dengan Time Change Notification.

Detail
Parameter
[in] aApp
Pointer ke data lapisan yang lebih tinggi, digunakan dalam panggilan balik ke lapisan yang lebih tinggi.
[in] aExchangeMgr
Pointer ke Exchange Manager, yang akan digunakan untuk mendaftar penangan pesan Time Change Notification
Kembali
WEAVE_NO_ERROR sukses

Sinkronkan

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Sync menggunakan yang diberikan Binding dan membuat panggilan balik menggunakan pointer yang disediakan.

Jika ada operasi sinkronisasi waktu yang sedang berlangsung, itu akan dibatalkan secara implisit tanpa panggilan balik dilakukan. Tidak tersedia di callback OnSyncCompleted, tetapi diizinkan di OnTimeChangeNotificationReceived . Jika terjadi kesalahan, Abort akan dipanggil secara implisit sebelum kembali dari fungsi ini.

Detail
Parameter
[in] aBinding
Mengikat untuk digunakan dalam menghubungi server waktu
[in] OnSyncCompleted
Fungsi panggilan balik yang akan digunakan setelah operasi sinkronisasi waktu selesai
Kembali
WEAVE_NO_ERROR pada keberhasilan

Fungsi yang dilindungi

EnterSync2

void EnterSync2(
  void
)

Pemrosesan Akhir

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

BatalkanHasil Terdaftar

void InvalidateRegisteredResult(
  void
)

Batalkan informasi yang terdaftar untuk koreksi waktu.

ApakahTerdaftarResultValid

bool IsRegisteredResultValid(
  void
)

Periksa apakah informasi yang terdaftar untuk koreksi waktu valid.

Waktu Respons Habis

void OnResponseTimeout(
  void
)

OnSyncResponse

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

LanjutkanKeNegaraBerikutnya

void ProceedToNextState(
  void
)

DaftarSyncResultIfNewOrBetter

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

KirimSinkronisasiPermintaan

WEAVE_ERROR SendSyncRequest(
  void
)

Setel StatusKlien

void SetClientState(
  const ClientState state
)

_AbortWithCallback

void _AbortWithCallback(
  const WEAVE_ERROR aErrorCode
)

Fungsi statis yang dilindungi

MenanganiResponseTimeout

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
)