nl:: Menenun:: Profil:: Waktu:: TimeSyncNode
Ringkasan
Warisan
Mewarisi dari: nl :: Weave :: Profil :: Waktu :: _ TimeSyncNodeBaseKonstruktor dan Destruktor | |
---|---|
TimeSyncNode (void) |
mBootTimeForNextAutoDiscovery_usec | timesync_t |
mIsAutoSyncEnabled | bool status 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 keadaan ini bersifat internal dan tidak dapat mengembalikan kode kesalahan karena keadaan 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 |
Tipe publik | |
---|---|
ClientState | enum keadaan saat ini dari Klien Sinkronisasi Waktu ini |
CommState | enum status komunikasi ke kontak tertentu. |
ContributorFilter )(void *const aApp, Contact aContact[], const int aSize) | typedefvoid(* panggilan balik terjadi tepat sebelum kami menghitung koreksi waktu dari tanggapan. |
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) | typedefbool(* panggilan balik untuk menunjukkan bahwa kami baru saja menerima permintaan sinkronisasi waktu. |
ResponseStatus | enum status respons yang disimpan ke kontak tertentu. |
ServerState { | enum keadaan saat ini dari Server Sinkronisasi Waktu ini |
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) | typedefvoid(* panggilan balik terjadi ketika 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(* panggilan balik untuk menunjukkan bahwa kami baru saja menerima Pemberitahuan Perubahan Waktu. |
Atribut publik | |
---|---|
FilterTimeCorrectionContributor | |
OnSyncFailed | |
OnSyncRequestReceived | jika tidak disetel, implementasi default selalu mengembalikan true |
OnSyncSucceeded | jika tidak disetel, perilaku default 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 * penunjuk ke data lapisan yang lebih tinggi |
mClientState | |
mConnectionToService | Koneksi TCP digunakan untuk berbicara dengan layanan. |
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS] | Kontak informasi yang dipelajari di seluruh penemuan. |
mIsAlwaysFresh | bool |
mIsInCallback | bool benar jika kita sedang dalam panggilan balik ke lapisan yang lebih tinggi |
mLastLikelihoodSent | int8_t |
mNumContributorInLastLocalSync | uint8_t |
mRole | TimeSyncRole Peran sebenarnya dari simpul ini. |
mServerState | |
mServiceContact | |
mTimestampLastCorrectionFromServerOrNtp_usec | timesync_t perhatikan itu harus waktu boot karena kami membutuhkan kompensasi untuk waktu tidur |
mTimestampLastLocalSync_usec | timesync_t perhatikan itu harus waktu boot karena kami membutuhkan kompensasi untuk waktu tidur |
Fungsi publik | |
---|---|
Abort (void) | memaksa mesin untuk kembali ke keadaan idle, membatalkan apa pun yang dilakukannya. |
DisableAutoSync (void) | void nonaktifkan sinkronisasi otomatis. |
EnableAutoSync (const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec) | aktifkan sinkronisasi otomatis. |
GetCapacityOfContactList (void) const | int pengambil sederhana untuk jumlah maksimum kontak yang dikonfigurasikan untuk disimpan oleh mesin ini |
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) | 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) | inisialisasi koordinator ini. |
InitServer (void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh) | inisialisasi untuk peran Server harus dipanggil sebagai fungsi pertama setelah konstruksi objek jika tujuannya adalah menjadi Server Sinkronisasi Waktu. |
MulticastTimeChangeNotification (const uint8_t aEncryptionType, const uint16_t aKeyId) const | void Dipanggil oleh lapisan yang lebih tinggi untuk pemberitahuan perubahan waktu multicast. |
RegisterCorrectionFromServerOrNtp (void) | void Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kami baru saja menyelesaikan putaran waktu sinkronisasi dengan Server mana pun atau melalui beberapa cara yang dapat diandalkan seperti NTP. |
RegisterLocalSyncOperation (const uint8_t aNumContributor) | void Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kami baru saja menyelesaikan putaran waktu sinkronisasi dengan Koordinator lokal lainnya. |
Shutdown (void) | hentikan layanan, apa pun peran yang dimainkannya. |
Sync (const bool aForceDiscoverAgain) | sinkronisasi menggunakan kontak yang ada. |
SyncWithNodes (const int16_t aNumNode, const ServingNode aNodes[]) | sinkronisasi menggunakan daftar kontak yang diberikan. |
SyncWithService ( WeaveConnection *const aConnection) | sinkronisasi menggunakan koneksi TCP yang diberikan dan enkripsi serta id kunci terkait. |
Fungsi yang dilindungi | |
---|---|
AbortOnError (const WEAVE_ERROR aCode) | void batalkan 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) | menginduksi panggilan balik ke lapisan aplikasi. |
ClearState (void) | void |
DestroyCommContext (void) | bool menutup Weave ExchangeContext |
EndLocalSyncAndTryCalculateTimeFix (void) | void |
EndServiceSyncAndTryCalculateTimeFix (void) | void |
FindReplaceableContact (const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification) | Contact * kembalikan slot untuk menyimpan informasi kontak |
GetClientStateName (void) const | const char *const |
GetNextIdleContact (void) | Contact * dapatkan kontak valid dan idle berikutnya untuk diajak bicara |
GetNumNotYetCompletedContacts (void) | int16_t dapatkan nomor kontak yang valid, tetapi kami belum berbicara dengan mereka. |
GetNumReliableResponses (void) | int16_t dapatkan jumlah tanggapan 'terpercaya' yang 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 kesalahan komunikasi pada kontak tertentu, dan mempersingkat periode penemuan otomatis jika diperlukan. Kontak dapat menjadi NULL untuk menunjukkan bahwa kita tidak memiliki siapa pun untuk diajak bicara, dan karenanya hanya mempersingkat periode penemuan otomatis |
SendSyncRequest (bool *const rIsMessageSent, Contact *const aContact) | kirim permintaan sinkronisasi unicast ke kontak. |
SetAllCompletedContactsToIdle (void) | int16_t setel ulang semua kontak yang sudah selesai ke status siaga lagi, tetapi jangan sentuh responsnya. |
SetAllValidContactsToIdleAndInvalidateResponse (void) | int16_t atur semua kontak lokal yang valid ke status siaga dan hapus respons. |
SetClientState (const ClientState state) | void |
SetupUnicastCommContext ( Contact *const aContact) | buat Weave Exchange baru untuk komunikasi unicast |
StoreNotifyingContact (const uint64_t aNodeId, const IPAddress & aNodeAddr) | void simpan informasi kontak dari node yang baru saja mengirimi kami pemberitahuan perubahan waktu |
UpdateMulticastSyncResponse (const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse) | void memproses respons yang datang kembali dari permintaan multicast |
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse) | void memproses respons yang datang kembali dari permintaan unicast |
_InitClient (const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | inisialisasi untuk peran Klien. |
_InitServer (const bool aIsAlwaysFresh) | inisialisasi untuk peran Server. |
_ShutdownClient (void) | hentikan klien yang tidak tersedia dalam panggilan balik. |
_ShutdownCoordinator (void) | hentikan koordinator yang tidak tersedia dalam panggilan balik. |
_ShutdownServer (void) | hentikan server yang tidak tersedia dalam panggilan balik. |
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 panggilan balik dari Weave Exchange ketika 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 panggilan balik dari Weave Timer ketika kami melewati penghalang setelah boot yang tidak dapat diandalkan |
IsOperationalState ( ClientState aState) | bool Tentukan apakah keadaan yang diberikan operasional. |
_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
status yang digunakan untuk fitur sinkronisasi otomatis.
mIsUrgentDiscoveryTertunda
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 keadaan ini bersifat internal dan tidak dapat mengembalikan kode kesalahan karena keadaan sebelumnya tidak memiliki cara untuk menanganinya.
kegagalan apa pun pada akhirnya akan menghasilkan transisi status lain (bisa jadi timeout) jika bahkan pengatur waktu gagal, kami kehabisan trik dan bisa bertahan dalam 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 )
Tipe publik
Negara Klien
ClientState
keadaan saat ini dari Klien Sinkronisasi Waktu ini
CommState
CommState
status komunikasi ke kontak tertentu.
Hal ini masyarakat karena Hubungi adalah di depan umum
Filter Kontributor
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
panggilan balik terjadi tepat sebelum kami menghitung koreksi waktu dari tanggapan.
lapisan aplikasi dapat menimpa aContact[i].mResponseStatus ke kResponseStatus_Invalid sehingga respons akan diabaikan dalam perhitungan
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
panggilan balik untuk menunjukkan bahwa kami baru saja menerima permintaan sinkronisasi waktu.
rincian | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
| ||||||||
Kembali | salah dan mesin akan mengabaikan permintaan ini |
Status Tanggapan
ResponseStatus
status respons yang disimpan ke kontak tertentu.
Hal ini masyarakat karena Hubungi adalah di depan umum
Status Server
ServerState
keadaan saat ini dari Time Sync Server
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
panggilan balik terjadi ketika sinkronisasi dianggap gagal, termasuk sinkronisasi otomatis.
perhatikan bahwa panggilan balik tidak terjadi jika Abort dipanggil untuk menghentikan sinkronisasi
rincian | |||||
---|---|---|---|---|---|
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 ke kResponseStatus_Invalid sehingga respons akan diabaikan dalam perhitungan
rincian | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
| ||||||||||
Kembali | benar jika offset ini akan digunakan untuk mengatur waktu sistem. jika aNumContributor adalah 0, nilai pengembalian akan diabaikan. |
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
panggilan balik untuk menunjukkan bahwa kami baru saja menerima Pemberitahuan Perubahan Waktu.
jika mode sinkronisasi otomatis diaktifkan, sinkronisasi waktu akan dijadwalkan segera setelah panggilan balik 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 tidak-tersedia-dalam-panggilan-kembali. namun, harus dicatat bahwa panggilan balik khusus ini masih berada di atas tumpukan panggilan balik lapisan pertukaran Weave.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Atribut publik
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
SinkronisasiGagal
SyncFailedHandler OnSyncFailed
OnSyncRequestDiterima
OnSyncRequestReceivedHandler OnSyncRequestReceived
jika tidak disetel, implementasi default selalu mengembalikan true
OnSyncBerhasil
SyncSucceededHandler OnSyncSucceeded
jika tidak disetel, perilaku default mengambil semua hasil, kecuali untuk koreksi server yang sangat kecil
OnTimeChangeNotificationDiterima
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
penunjuk ke data lapisan yang lebih tinggi
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Koneksi TCP digunakan untuk berbicara dengan layanan.
mKontak
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Kontak informasi yang dipelajari di seluruh penemuan.
sayaSelaluSegarF
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
benar jika kita sedang dalam panggilan balik ke lapisan yang lebih tinggi
MlastLikelihoodDikirim
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mPeran
TimeSyncRole mRole
Peran sebenarnya dari simpul ini.
mServerState
ServerState mServerState
mLayananKontak
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
perhatikan itu harus waktu boot karena kami membutuhkan kompensasi untuk waktu tidur
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
perhatikan itu harus waktu boot karena kami membutuhkan kompensasi untuk waktu tidur
Fungsi publik
Menggugurkan
WEAVE_ERROR Abort( void )
memaksa mesin untuk kembali ke keadaan idle, membatalkan apa pun yang dilakukannya.
perhatikan 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 sudah dalam keadaan idle. tidak tersedia dalam panggilan balik.
rincian | |
---|---|
Kembali | WEAVE_NO_ERROR sukses |
NonaktifkanSinkronisasiOtomatis
void DisableAutoSync( void )
nonaktifkan sinkronisasi otomatis.
hanya tersedia dalam keadaan idle. tidak tersedia dalam panggilan balik.
AktifkanSinkronisasiOtomatis
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
aktifkan sinkronisasi otomatis.
hanya tersedia dalam keadaan idle. penemuan terjadi segera. tidak tersedia dalam panggilan balik.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
| ||||||
Kembali | WEAVE_NO_ERROR sukses |
DapatkanCapacityOfContactList
int GetCapacityOfContactList( void ) const
pengambil sederhana untuk jumlah maksimum kontak yang dikonfigurasikan untuk disimpan oleh mesin ini
DapatkanBerikutnyaKemungkinan
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 sementara dan mungkin menjadi Kemungkinan saat ini daripada yang berikutnya untuk digunakan.
rincian | |
---|---|
Kembali | kemungkinan respons untuk digunakan dalam permintaan berikutnya |
DapatkanServerState
ServerState GetServerState( void ) const
pengambil sederhana untuk status server
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inisialisasi klien ini.
tidak tersedia dalam panggilan balik
rincian | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
| ||||||||||||
Kembali | WEAVE_NO_ERROR sukses |
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 )
inisialisasi koordinator ini.
rincian | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
| ||||||||||||
Kembali | WEAVE_NO_ERROR sukses |
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
inisialisasi untuk peran Server harus dipanggil sebagai fungsi pertama setelah konstruksi objek jika tujuannya adalah menjadi Server Sinkronisasi Waktu.
tidak tersedia dalam panggilan balik
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
| ||||||
Kembali | WEAVE_NO_ERROR sukses |
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Dipanggil oleh lapisan yang lebih tinggi untuk pemberitahuan perubahan waktu multicast.
tidak tersedia dalam panggilan balik.
rincian | |||||
---|---|---|---|---|---|
Parameter |
|
DaftarKoreksiDariServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kami baru saja menyelesaikan putaran waktu sinkronisasi dengan Server mana pun atau melalui beberapa cara yang dapat diandalkan seperti NTP.
DaftarLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Dipanggil oleh lapisan yang lebih tinggi untuk menunjukkan bahwa kami baru saja menyelesaikan putaran waktu sinkronisasi dengan Koordinator lokal lainnya.
rincian | |||
---|---|---|---|
Parameter |
|
Menutup
WEAVE_ERROR Shutdown( void )
hentikan layanan, apa pun peran yang dimainkannya.
Fungsi ini harus dipanggil untuk mendapatkan kembali sumber daya yang dialokasikan dengan benar, sebelum panggilan lain ke salah satu fungsi init dapat dilakukan. tidak tersedia dalam panggilan balik.
rincian | |
---|---|
Kembali | WEAVE_NO_ERROR sukses |
Sinkronkan
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
sinkronisasi menggunakan kontak yang ada.
operasi sinkronisasi bisa gagal jika tidak ada kontak valid yang tersedia. atur aForceDiscoverAgain ke true untuk memaksa penemuan segera. hanya tersedia dalam keadaan idle. tidak tersedia dalam panggilan balik.
rincian | |||
---|---|---|---|
Parameter |
| ||
Kembali | WEAVE_NO_ERROR sukses |
SinkronkanDenganNode
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
sinkronisasi menggunakan daftar kontak yang diberikan.
daftar kontak yang ada akan memerah. hanya tersedia dalam keadaan idle. tidak tersedia dalam panggilan balik.
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Kembali | WEAVE_NO_ERROR sukses |
SinkronkanDenganLayanan
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
sinkronisasi menggunakan koneksi TCP yang diberikan dan enkripsi terkait serta id kunci.
pemanggil harus mengambil kepemilikan koneksi TCP setelah sinkronisasi selesai. tidak ada panggilan balik yang akan ditimpa untuk koneksi TCP, karena Weave Exchange baru akan dibuat dan panggilan balik diatur di atas konteks itu hanya tersedia dalam keadaan diam. tidak tersedia dalam panggilan balik.
rincian | |||
---|---|---|---|
Parameter |
| ||
Kembali | WEAVE_NO_ERROR sukses |
TimeSyncNode
TimeSyncNode( void )
Fungsi yang dilindungi
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
batalkan internal jika aCode bukan WEAVE_NO_ERROR
SinkronisasiOtomatisSekarang
void AutoSyncNow( void )
fungsi internal untuk memulai sesi sinkronisasi otomatis
Panggilan BalikUntukPenyelesaianSinkronisasi
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 )
menginduksi panggilan balik ke lapisan aplikasi.
atur aIsSuccessful ke false untuk menginduksi panggilan balik kesalahan
Hapus Keadaan
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
TemukanKontak yang Dapat Diganti
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
kembalikan slot untuk menyimpan informasi kontak
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleKontak
Contact * GetNextIdleContact( void )
dapatkan kontak valid dan idle berikutnya untuk diajak bicara
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
dapatkan nomor kontak yang valid, tetapi kami belum berbicara dengan mereka.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
dapatkan jumlah tanggapan 'terpercaya' yang dikumpulkan sejauh ini.
dipanggil untuk menentukan apakah kami telah mengumpulkan cukup banyak tanggapan
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Batalkan SemuaKontak
void InvalidateAllContacts( void )
batalkan semua kontak lokal
Batalkan LayananKontak
void InvalidateServiceContact( void )
batalkan kontak ke layanan
DaftarCommError
void RegisterCommError( Contact *const aContact )
mendaftarkan kesalahan komunikasi pada kontak tertentu, dan mempersingkat periode penemuan otomatis jika diperlukan. Kontak dapat menjadi NULL untuk menunjukkan bahwa kami tidak memiliki siapa pun untuk diajak bicara, dan karenanya hanya mempersingkat periode penemuan otomatis
KirimSinkronisasiPermintaan
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
kirim permintaan sinkronisasi unicast ke kontak.
*rIsMessageSent akan diatur untuk menunjukkan jika pesan telah dikirim. kesalahan komunikasi seperti alamat tidak dapat dijangkau tidak dikembalikan, jadi penelepon harus memeriksa kode pengembalian dan *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
setel ulang semua kontak yang sudah selesai ke status siaga lagi, tetapi jangan sentuh responsnya.
ini disebut antara dua putaran komunikasi ke node yang sama
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
atur semua kontak lokal yang valid ke status siaga dan hapus respons.
ini dipanggil sebelum kita mulai menghubungi mereka satu per satu
Setel StatusKlien
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
buat Weave Exchange baru untuk komunikasi unicast
KontakPemberitahuan Toko
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
simpan informasi kontak dari node yang baru saja mengirimi kami pemberitahuan perubahan waktu
Perbarui MulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
memproses respons yang datang kembali dari permintaan multicast
PerbaruiUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
memproses respons yang datang kembali dari permintaan unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inisialisasi untuk peran Klien.
Dimaksudkan untuk digunakan secara internal oleh keluarga Init dari fungsi publik. Harus mengatur mClientState sebelum kembali. tidak tersedia dalam panggilan balik
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
| ||||||
Kembali | WEAVE_NO_ERROR sukses |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
inisialisasi untuk peran Server.
Dimaksudkan untuk digunakan secara internal oleh keluarga Init dari fungsi publik. Harus mengatur mClientState sebelum kembali. tidak tersedia dalam panggilan balik
rincian | |||
---|---|---|---|
Parameter |
| ||
Kembali | WEAVE_NO_ERROR sukses |
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
hentikan klien yang tidak tersedia dalam panggilan balik.
rincian | |
---|---|
Kembali | WEAVE_NO_ERROR sukses |
_Koordinator Shutdown
WEAVE_ERROR _ShutdownCoordinator( void )
hentikan koordinator yang tidak tersedia dalam panggilan balik.
rincian | |
---|---|
Kembali | WEAVE_NO_ERROR sukses |
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
hentikan server yang tidak tersedia dalam panggilan balik.
rincian | |
---|---|
Kembali | WEAVE_NO_ERROR sukses |
Fungsi statis yang dilindungi
HandleAutoDiscoveryTimeout
void HandleAutoDiscoveryTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
MenanganiAutoSyncTimeout
void HandleAutoSyncTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
MenanganiMulticastResponseTimeout
void HandleMulticastResponseTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
MenanganiMulticastSyncResponse
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 )
panggilan balik dari Weave Exchange ketika permintaan sinkronisasi waktu tiba
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
MenanganiUnicastResponseTimeout
void HandleUnicastResponseTimeout( ExchangeContext *const ec )
MenanganiUnicastSyncResponse
void HandleUnicastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
MenanganiTidak Dapat DiandalkanAfterBootTimer
void HandleUnreliableAfterBootTimer( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
panggilan balik dari Weave Timer ketika kami melewati penghalang setelah boot yang tidak dapat diandalkan
IsOperationalState
bool IsOperationalState( ClientState aState )
Tentukan apakah keadaan yang diberikan operasional.
Metode kemudahan untuk menentukan apakah ClientState menunjukkan status operasional, yaitu klien telah menyelesaikan inisialisasi dan tidak sedang dalam proses mematikan.
rincian | |||
---|---|---|---|
Parameter |
| ||
Kembali | true jika state jatuh setelah inisialisasi selesai dan sebelum shutdown dimulai, false sebaliknya. |
_OnSyncBerhasil
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )