nl:: Weave:: Profiles:: Time:: TimeSyncNode
Ringkasan
Inheritance
Mewarisi dari: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Konstruktor dan Destruktor |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
yang digunakan untuk fitur sinkronisasi otomatis.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
konteks komunikasi.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
fungsi transisi status ini bersifat internal dan tidak dapat menampilkan kode error karena status sebelumnya tidak memiliki cara untuk menanganinya.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Jenis publik |
|
---|---|
ClientState
|
enum status saat ini dari Klien Sinkronisasi Waktu ini |
CommState
|
enum status komunikasi kepada
kontak tertentu. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
callback terjadi tepat sebelum kita menghitung koreksi waktu dari respons. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
untuk menunjukkan bahwa kita baru saja menerima permintaan sinkronisasi waktu. |
ResponseStatus
|
enum status respons yang disimpan
terhadap kontak tertentu. |
ServerState{
|
enum status saat ini dari Server Sinkronisasi Waktu ini |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
callback terjadi jika sinkronisasi dianggap gagal, termasuk sinkronisasi otomatis. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
callback terjadi setelah sinkronisasi dianggap berhasil, termasuk sinkronisasi otomatis, tetapi sebelum hasilnya diterapkan. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
untuk menunjukkan bahwa kita baru saja menerima Notifikasi Perubahan Waktu. |
Atribut publik |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
jika tidak ditetapkan, implementasi default akan selalu menampilkan true
|
OnSyncSucceeded
|
jika tidak disetel, perilaku default akan mengambil semua hasil, kecuali untuk koreksi server yang sangat kecil
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
metode enkripsi untuk komunikasi lokal
|
mKeyId
|
uint16_t
ID kunci yang digunakan untuk komunikasi lokal
|
Atribut yang dilindungi |
|
---|---|
mApp
|
void *
pointer ke data lapisan yang lebih tinggi
|
mClientState
|
|
mConnectionToService
|
koneksi TCP yang digunakan
untuk berbicara dengan layanan.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Informasi kontak yang dipelajari selama penemuan.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
benar (true) jika berada di callback ke lapisan yang lebih tinggi
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Peran sebenarnya dari node ini.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
perhatikan bahwa ini harus waktu {i>booting<i} karena kita
membutuhkan kompensasi untuk waktu tidur
|
mTimestampLastLocalSync_usec
|
timesync_t
perhatikan bahwa ini harus waktu {i>booting<i} karena kita
membutuhkan kompensasi untuk waktu tidur
|
Fungsi publik |
|
---|---|
Abort(void)
|
memaksa mesin untuk kembali ke keadaan
tidak ada aktivitas, membatalkan apa pun yang dilakukannya.
|
DisableAutoSync(void)
|
void
menonaktifkan sinkronisasi otomatis.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
mengaktifkan sinkronisasi otomatis.
|
GetCapacityOfContactList(void) const
|
int
pengambil sederhana untuk jumlah maksimum kontak yang dikonfigurasi mesin ini untuk disimpan
|
GetClientState(void) const
|
pengambil sederhana untuk status klien
|
GetNextLikelihood(void) const
|
int8_t
mengekstrak kemungkinan untuk persisten.
|
GetServerState(void) const
|
pengambil sederhana untuk status server
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
melakukan inisialisasi klien ini.
|
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)
|
melakukan inisialisasi koordinator ini.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
melakukan inisialisasi untuk peran Server harus dipanggil sebagai fungsi pertama setelah konstruksi objek jika tujuannya adalah menjadi Time Sync Server.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Dipanggil oleh lapisan yang lebih tinggi ke notifikasi perubahan waktu multicast.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kita baru saja menyelesaikan sinkronisasi waktu dengan Server mana pun atau melalui cara yang dapat diandalkan seperti NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kita baru saja menyelesaikan sinkronisasi waktu dengan Koordinator lokal lainnya.
|
Shutdown(void)
|
menghentikan layanan, tidak peduli peran yang dimainkannya.
|
Sync(const bool aForceDiscoverAgain)
|
sinkronisasi menggunakan kontak yang ada.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
menyinkronkan menggunakan daftar kontak yang diberikan.
|
SyncWithService(WeaveConnection *const aConnection)
|
menyinkronkan menggunakan koneksi TCP yang diberikan
dan enkripsi serta ID kunci terkait.
|
Fungsi yang dilindungi |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
pembatalan internal jika aCode bukan WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
fungsi internal untuk memulai sesi sinkronisasi otomatis
|
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)
|
memicu callback ke lapisan aplikasi.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
tutup ExchangeContext Weave
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
mengembalikan slot untuk menyimpan informasi kontak
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
mendapatkan kontak valid dan tidak ada aktivitas berikutnya untuk berbicara
|
GetNumNotYetCompletedContacts(void)
|
int16_t
mendapatkan jumlah kontak yang valid, tapi kita belum berkomunikasi dengan mereka.
|
GetNumReliableResponses(void)
|
int16_t
dapatkan jumlah "andal" yang telah dikumpulkan sejauh ini.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
batalkan semua kontak lokal
|
InvalidateServiceContact(void)
|
void
batalkan kontak ke layanan
|
RegisterCommError(Contact *const aContact)
|
void
mendaftarkan error komunikasi pada kontak tertentu, dan mempersingkat periode penemuan otomatis jika diperlukan. aContact bisa menjadi NULL untuk menunjukkan bahwa kita tidak memiliki siapa pun untuk diajak bicara, sehingga mempersingkat periode penemuan otomatis
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
mengirim permintaan sinkronisasi
unicast ke kontak.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
mengatur ulang semua kontak yang telah diselesaikan ke status tidak ada aktivitas lagi, tetapi jangan sentuh responsnya.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
menetapkan semua kontak lokal yang valid ke status tidak ada aktivitas, dan menghapus respons.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
membuat Weave Exchange baru untuk komunikasi unicast
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
menyimpan informasi kontak simpul yang baru saja mengirimi kami notifikasi perubahan waktu
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
memproses respons yang kembali dari permintaan multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
memproses respons yang kembali
dari permintaan unicast
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
melakukan inisialisasi untuk peran Klien.
|
_InitServer(const bool aIsAlwaysFresh)
|
melakukan inisialisasi untuk peran Server.
|
_ShutdownClient(void)
|
menghentikan klien yang tidak tersedia di callback.
|
_ShutdownCoordinator(void)
|
menghentikan koordinator yang tidak tersedia di callback.
|
_ShutdownServer(void)
|
menghentikan server yang tidak
tersedia di callback.
|
Fungsi statis yang dilindungi |
|
---|---|
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
callback dari Weave Exchange saat permintaan sinkronisasi waktu tiba
|
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
callback dari Timer Weave saat kita melewati penghalang yang tidak dapat diandalkan setelah
|
IsOperationalState(ClientState aState)
|
bool
Menentukan apakah status tertentu beroperasi.
|
_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
yang digunakan untuk fitur sinkronisasi otomatis.
mIsUrgentDiscoveryPending
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 )
fungsi transisi status ini bersifat internal dan tidak dapat menampilkan kode error karena status sebelumnya tidak memiliki cara untuk menanganinya.
kegagalan apa pun akan mengakibatkan transisi status lain pada akhirnya (dapat berupa waktu tunggu) jika timer gagal, kita keluar dari trik dan dapat hang di beberapa status yang salah
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 )
Jenis publik
ClientState
ClientState
status saat ini dari Klien Sinkronisasi Waktu ini
CommState
CommState
status komunikasi kepada kontak tertentu.
Hal ini dapat dilihat oleh publik karena Kontak berada di tempat umum
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
callback terjadi tepat sebelum kita menghitung koreksi waktu dari respons.
lapisan aplikasi dapat menimpa aContact[i].mResponseStatus menjadi kResponseStatus_Invalid sehingga responsnya akan diabaikan dalam penghitungan.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
untuk menunjukkan bahwa kita baru saja menerima permintaan sinkronisasi waktu.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Hasil |
false dan mesin akan mengabaikan permintaan ini
|
ResponseStatus
ResponseStatus
status respons yang disimpan terhadap kontak tertentu.
Hal ini dapat dilihat oleh publik karena Kontak berada di tempat umum
ServerState
ServerState
status saat ini dari Server Sinkronisasi Waktu ini
Properti | |
---|---|
kServerState_Idle
|
server siap menanggapi permintaan dengan pengaturan normal |
kServerState_UnreliableAfterBoot
|
waktu yang disediakan bagi server untuk menyinkronkan waktu sistemnya melalui beberapa cara lain hanya berarti jika aIsAlwaysFresh bernilai benar ketika Init dipanggil |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
callback terjadi jika sinkronisasi dianggap gagal, termasuk sinkronisasi otomatis.
perhatikan bahwa callback tidak terjadi jika Abort dipanggil untuk menghentikan sinkronisasi
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
callback terjadi setelah sinkronisasi dianggap berhasil, termasuk sinkronisasi otomatis, tetapi sebelum hasilnya diterapkan.
Perhatikan bahwa berhasil tidak berarti kami memiliki hasil yang dapat diterapkan. Jika tidak ada respons yang diterima, aNumContributor akan disetel ke 0. lapisan aplikasi dapat menimpa aContact[i].mResponseStatus menjadi kResponseStatus_Invalid sehingga respons tersebut akan diabaikan dalam penghitungan.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Hasil |
benar (true) jika selisih waktu ini harus digunakan untuk menyesuaikan waktu sistem. jika aNumContributor bernilai 0, nilai yang ditampilkan akan diabaikan.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
untuk menunjukkan bahwa kita baru saja menerima Notifikasi Perubahan Waktu.
jika mode sinkronisasi otomatis diaktifkan, sinkronisasi waktu akan dijadwalkan segera setelah callback ini secara otomatis. jika tidak, lapisan aplikasi dapat memilih untuk memanggil rangkaian fungsi Sync untuk langsung memulai operasi sinkronisasi yang tidak dibatasi oleh aturan normal {i>not-available-in-call-back<i}. namun, perlu diperhatikan bahwa callback khusus ini masih berada di atas tumpukan callback lapisan pertukaran Weave.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Atribut publik
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
jika tidak ditetapkan, implementasi default akan selalu menampilkan true
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
jika tidak disetel, perilaku default akan mengambil semua hasil, kecuali untuk koreksi server yang sangat kecil
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
metode enkripsi untuk komunikasi lokal
mKeyId
uint16_t mKeyId
ID kunci yang digunakan untuk komunikasi lokal
Atribut yang dilindungi
mApp
void * mApp
pointer ke data lapisan yang lebih tinggi
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
koneksi TCP yang digunakan untuk berbicara dengan layanan.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Informasi kontak yang dipelajari selama penemuan.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
benar (true) jika berada di callback ke lapisan yang lebih tinggi
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Peran sebenarnya dari node ini.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
perhatikan bahwa ini harus waktu {i>booting<i} karena kita membutuhkan kompensasi untuk waktu tidur
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
perhatikan bahwa ini harus waktu {i>booting<i} karena kita membutuhkan kompensasi untuk waktu tidur
Fungsi publik
Batalkan
WEAVE_ERROR Abort( void )
memaksa mesin untuk kembali ke keadaan tidak ada aktivitas, membatalkan apa pun yang dilakukannya.
perhatikan bahwa tidak ada keberhasilan atau kegagalan sinkronisasi yang akan dipanggil. semua Weave Exchange akan ditutup. koneksi TCP tidak akan disentuh lebih lanjut. tidak ada operasi jika kita dalam status tidak ada aktivitas. tidak tersedia di callback.
Detail | |
---|---|
Hasil |
WEAVE_NO_ERROR saat berhasil
|
DisableAutoSync
void DisableAutoSync( void )
menonaktifkan sinkronisasi otomatis.
hanya tersedia dalam status tidak ada aktivitas. tidak tersedia di callback.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
mengaktifkan sinkronisasi otomatis.
hanya tersedia dalam status tidak ada aktivitas. penemuan akan langsung dilakukan. tidak tersedia di callback.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
pengambil sederhana untuk jumlah maksimum kontak yang dikonfigurasi mesin ini untuk disimpan
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
mengekstrak kemungkinan untuk persisten.
hasilnya hanya akan valid setelah operasi sinkronisasi selesai, dalam callback OnSyncSucceeded dan OnSyncFailed. jika tidak, itu bersifat sementara dan mungkin yang digunakan adalah saat ini, bukan yang berikutnya.
Detail | |
---|---|
Hasil |
kemungkinan respons akan digunakan dalam permintaan berikutnya
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
melakukan inisialisasi klien ini.
tidak tersedia di callback
Detail | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
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 )
melakukan inisialisasi koordinator ini.
Detail | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
melakukan inisialisasi untuk peran Server harus dipanggil sebagai fungsi pertama setelah konstruksi objek jika tujuannya adalah menjadi Time Sync Server.
tidak tersedia di callback
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Dipanggil oleh lapisan yang lebih tinggi ke notifikasi perubahan waktu multicast.
tidak tersedia di callback.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kita baru saja menyelesaikan sinkronisasi waktu dengan Server mana pun atau melalui cara yang dapat diandalkan seperti NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kita baru saja menyelesaikan sinkronisasi waktu dengan Koordinator lokal lainnya.
Detail | |||
---|---|---|---|
Parameter |
|
Nonaktif
WEAVE_ERROR Shutdown( void )
menghentikan layanan, tidak peduli peran yang dimainkannya.
Fungsi ini harus dipanggil untuk mengklaim kembali resource yang dialokasikan dengan benar, sebelum panggilan lain ke fungsi init dapat dilakukan. tidak tersedia di callback.
Detail | |
---|---|
Hasil |
WEAVE_NO_ERROR saat berhasil
|
Sinkronisasi
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
sinkronisasi menggunakan kontak yang ada.
operasi sinkronisasi bisa gagal jika tidak tersedia kontak valid. menyetel aForceDiscoverAgain ke true untuk segera memaksa penemuan. hanya tersedia dalam status tidak ada aktivitas. tidak tersedia di callback.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
menyinkronkan menggunakan daftar kontak yang diberikan.
daftar kontak yang ada akan dihapus. hanya tersedia dalam status tidak ada aktivitas. tidak tersedia di callback.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
menyinkronkan menggunakan koneksi TCP yang diberikan dan enkripsi serta ID kunci terkait.
pemanggil harus mengambil kepemilikan koneksi TCP setelah sinkronisasi selesai. tidak ada callback yang akan ditimpa untuk koneksi TCP, karena Weave Exchange baru akan dibuat dan callback yang disetel di atas konteks tersebut hanya tersedia dalam keadaan tidak ada aktivitas. tidak tersedia di callback.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
TimeSyncNode
TimeSyncNode( void )
Fungsi yang dilindungi
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
pembatalan internal jika aCode bukan WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
fungsi internal untuk memulai sesi sinkronisasi otomatis
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 )
memicu callback ke lapisan aplikasi.
setel aIsSuccess ke false untuk memicu callback error
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
mengembalikan slot untuk menyimpan informasi kontak
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
mendapatkan kontak valid dan tidak ada aktivitas berikutnya untuk berbicara
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
mendapatkan jumlah kontak yang valid, tapi kita belum berkomunikasi dengan mereka.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
dapatkan jumlah "andal" yang telah dikumpulkan sejauh ini.
untuk menentukan apakah kami telah mengumpulkan cukup banyak respons
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
batalkan semua kontak lokal
InvalidateServiceContact
void InvalidateServiceContact( void )
batalkan kontak ke layanan
RegisterCommError
void RegisterCommError( Contact *const aContact )
mendaftarkan error komunikasi pada kontak tertentu, dan mempersingkat periode penemuan otomatis jika diperlukan. aContact bisa menjadi NULL untuk menunjukkan bahwa kita tidak memiliki siapa pun untuk diajak bicara, sehingga mempersingkat periode penemuan otomatis
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
mengirim permintaan sinkronisasi unicast ke kontak.
*rIsMessageSent akan disetel untuk menunjukkan apakah pesan telah dikirim. error komunikasi seperti alamat tidak dapat dijangkau tidak ditampilkan, jadi pemanggil harus memeriksa kode pengembalian dan *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
mengatur ulang semua kontak yang telah diselesaikan ke status tidak ada aktivitas lagi, tetapi jangan sentuh responsnya.
ini dipanggil antara dua putaran komunikasi ke {i>node<i} yang sama
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
menetapkan semua kontak lokal yang valid ke status tidak ada aktivitas dan menghapus respons.
panggilan ini akan dilakukan sebelum kita mulai menghubunginya satu per satu
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
membuat Weave Exchange baru untuk komunikasi unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
menyimpan informasi kontak simpul yang baru saja mengirimi kami notifikasi perubahan waktu
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
memproses respons yang kembali dari permintaan multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
memproses respons yang kembali dari permintaan unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
melakukan inisialisasi untuk peran Klien.
Ditujukan untuk digunakan secara internal oleh keluarga fungsi publik Init. Harus menetapkan mClientState sebelum ditampilkan. tidak tersedia di callback
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
melakukan inisialisasi untuk peran Server.
Ditujukan untuk digunakan secara internal oleh keluarga fungsi publik Init. Harus menetapkan mClientState sebelum ditampilkan. tidak tersedia di callback
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
WEAVE_NO_ERROR saat berhasil
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
menghentikan klien yang tidak tersedia di callback.
Detail | |
---|---|
Hasil |
WEAVE_NO_ERROR saat berhasil
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
menghentikan koordinator yang tidak tersedia di callback.
Detail | |
---|---|
Hasil |
WEAVE_NO_ERROR saat berhasil
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
menghentikan server yang tidak tersedia di callback.
Detail | |
---|---|
Hasil |
WEAVE_NO_ERROR saat berhasil
|
Fungsi statis yang dilindungi
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 )
callback dari Weave Exchange saat permintaan sinkronisasi waktu tiba
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 )
callback dari Timer Weave saat kita melewati penghalang setelah booting yang tidak dapat diandalkan
IsOperationalState
bool IsOperationalState( ClientState aState )
Menentukan apakah status tertentu beroperasi.
Metode praktis untuk menentukan apakah ClientState menunjukkan status operasional, yaitu klien telah menyelesaikan inisialisasi dan tidak sedang dalam proses penonaktifan.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
true jika status turun setelah inisialisasi selesai dan sebelum penonaktifan dimulai, false jika tidak.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )