nl:: örgü:: Profiller:: Zaman:: TimeSyncNode
Özet
miras
: Den devralır nl :: Dokuma :: Profiller :: Zaman :: _ TimeSyncNodeBaseYapıcılar ve Yıkıcılar | |
---|---|
TimeSyncNode (void) |
mBootTimeForNextAutoDiscovery_usec | timesync_t |
mIsAutoSyncEnabled | bool otomatik senkronizasyon özelliği için kullanılan durumlar. |
mIsUrgentDiscoveryPending | bool |
mNominalDiscoveryPeriod_msec | int32_t |
mShortestDiscoveryPeriod_msec | int32_t |
mSyncPeriod_msec | int32_t |
mActiveContact | Contact * iletişim bağlamı. |
mExchangeContext | |
mUnadjTimestampLastSent_usec | timesync_t |
EnterState_Discover (void) | void bu durum geçiş işlevleri dahilidir ve önceki durumun bunları işlemesinin hiçbir yolu olmayacağından hata kodu döndüremez. |
EnterState_ServiceSync_1 (void) | void |
EnterState_ServiceSync_2 (void) | void |
EnterState_Sync_1 (void) | void |
EnterState_Sync_2 (void) | void |
Genel türler | |
---|---|
ClientState | Sıralama bu Zaman Senkronizasyonu İstemcisinin mevcut durumu |
CommState | Sıralama belirli bir kişiyle iletişim durumu. |
ContributorFilter )(void *const aApp, Contact aContact[], const int aSize) | typedefvoid(* geri arama, yanıtlardan zaman düzeltmesini hesaplamadan hemen önce gerçekleşir. |
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) | typedefbool(* Az önce bir zaman eşitleme isteği aldığımızı belirtmek için geri arama. |
ResponseStatus | Sıralama belirli bir kişiye saklanan yanıtın durumu. |
ServerState { | Sıralama bu Zaman Senkronizasyonu Sunucusunun mevcut durumu |
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) | typedefvoid(* geri arama, otomatik eşitleme dahil, eşitlemenin başarısız olduğu düşünüldüğünde gerçekleşir. |
SyncSucceededHandler )(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) | typedefbool(* geri arama, otomatik eşitleme dahil, eşitlemenin başarılı olduğu kabul edildikten sonra, ancak sonuç uygulanmadan önce gerçekleşir. |
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) | typedefvoid(* Az önce bir Zaman Değişikliği Bildirimi aldığımızı belirtmek için geri arama. |
Genel özellikler | |
---|---|
FilterTimeCorrectionContributor | |
OnSyncFailed | |
OnSyncRequestReceived | ayarlanmazsa, varsayılan uygulama her zaman true değerini döndürür |
OnSyncSucceeded | ayarlanmazsa, varsayılan davranış, çok küçük sunucu düzeltmeleri dışında tüm sonuçları almaktır. |
OnTimeChangeNotificationReceived | |
mEncryptionType | uint8_t yerel iletişim için şifreleme yöntemi |
mKeyId | uint16_t yerel iletişim için kullanılan anahtar kimliği |
Korunan özellikler | |
---|---|
mApp | void * daha yüksek katman verilerine işaretçi |
mClientState | |
mConnectionToService | Servisle konuşmak için kullanılan TCP bağlantısı. |
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS] | İletişim bilgileri keşif boyunca öğrendik. |
mIsAlwaysFresh | bool |
mIsInCallback | bool daha yüksek katmana bir geri aramadaysak doğru |
mLastLikelihoodSent | int8_t |
mNumContributorInLastLocalSync | uint8_t |
mRole | TimeSyncRole Bu düğümün gerçek rolü. |
mServerState | |
mServiceContact | |
mTimestampLastCorrectionFromServerOrNtp_usec | timesync_t uyku zamanı için tazminata ihtiyacımız olduğu için önyükleme zamanı olması gerektiğini unutmayın |
mTimestampLastLocalSync_usec | timesync_t uyku zamanı için tazminata ihtiyacımız olduğu için önyükleme zamanı olması gerektiğini unutmayın |
Kamu işlevleri | |
---|---|
Abort (void) | motoru, yaptığı her şeyi iptal ederek rölanti durumuna geri dönmeye zorlar. |
DisableAutoSync (void) | void otomatik senkronizasyonu devre dışı bırakın. |
EnableAutoSync (const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec) | otomatik senkronizasyonu etkinleştir. |
GetCapacityOfContactList (void) const | int bu motorun depolamak üzere yapılandırıldığı maksimum kişi sayısı için basit alıcı |
GetClientState (void) const | istemci durumu için basit alıcı |
GetNextLikelihood (void) const | int8_t kalıcı olma olasılığını çıkarın. |
GetServerState (void) const | sunucu durumu için basit alıcı |
InitClient (void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | bu istemciyi başlat. |
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) | bu koordinatörü başlat. |
InitServer (void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh) | Sunucu rolü için başlatma, amaç bir Zaman Eşitleme Sunucusu olacaksa, nesne yapımından sonraki ilk işlev olarak çağrılmalıdır. |
MulticastTimeChangeNotification (const uint8_t aEncryptionType, const uint16_t aKeyId) const | void Daha yüksek katman tarafından çok noktaya yayın zaman değişikliği bildirimine çağrılır. |
RegisterCorrectionFromServerOrNtp (void) | void Herhangi bir Sunucuyla veya NTP gibi bazı güvenilir araçlarla bir zaman eşitleme turunu yeni bitirdiğimizi belirtmek için daha yüksek katman tarafından çağrıldı. |
RegisterLocalSyncOperation (const uint8_t aNumContributor) | void Daha üst katman tarafından, diğer yerel Koordinatörlerle bir zaman eşitleme turunu henüz tamamladığımızı belirtmek için çağrıldı. |
Shutdown (void) | hangi rolü oynarsa oynasın hizmeti durdurun. |
Sync (const bool aForceDiscoverAgain) | mevcut kişileri kullanarak senkronize edin. |
SyncWithNodes (const int16_t aNumNode, const ServingNode aNodes[]) | verilen kişi listesini kullanarak senkronize edin. |
SyncWithService ( WeaveConnection *const aConnection) | verilen TCP bağlantısını ve ilişkili şifrelemeyi ve anahtar kimliğini kullanarak eşitleyin. |
Korumalı fonksiyonlar | |
---|---|
AbortOnError (const WEAVE_ERROR aCode) | void aCode WEAVE_NO_ERROR değilse dahili iptal |
AutoSyncNow (void) | void otomatik senkronizasyon oturumunu başlatmak için dahili işlev |
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) | uygulama katmanına geri arama başlat. |
ClearState (void) | void |
DestroyCommContext (void) | bool Dokuma kapatmak ExchangeContext |
EndLocalSyncAndTryCalculateTimeFix (void) | void |
EndServiceSyncAndTryCalculateTimeFix (void) | void |
FindReplaceableContact (const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification) | Contact * iletişim bilgilerini saklamak için bir yuva döndür |
GetClientStateName (void) const | const char *const |
GetNextIdleContact (void) | Contact * konuşmak için bir sonraki geçerli ve boşta kişiyi bul |
GetNumNotYetCompletedContacts (void) | int16_t geçerli olan kişilerin sayısını alın, ancak henüz onlarla konuşmadık. |
GetNumReliableResponses (void) | int16_t şimdiye kadar toplanan 'güvenilir' yanıtların sayısını alın. |
InitState (const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr) | |
InvalidateAllContacts (void) | void tüm yerel kişileri geçersiz kıl |
InvalidateServiceContact (void) | void servisle irtibatı geçersiz kıl |
RegisterCommError ( Contact *const aContact) | void belirli bir kişide iletişim hatasını kaydedin ve gerekirse otomatik keşif süresini kısaltın aContact, konuşacak kimsemiz olmadığını belirtmek için NULL olabilir ve bu nedenle otomatik keşif süresini kısaltın |
SendSyncRequest (bool *const rIsMessageSent, Contact *const aContact) | bir kişiye tek noktaya yayın eşitleme isteği gönder. |
SetAllCompletedContactsToIdle (void) | int16_t tamamlanan tüm kişileri tekrar boş durumuna sıfırlayın, ancak yanıta dokunmayın. |
SetAllValidContactsToIdleAndInvalidateResponse (void) | int16_t tüm geçerli yerel kişileri boş duruma ayarlayın ve yanıtı silin. |
SetClientState (const ClientState state) | void |
SetupUnicastCommContext ( Contact *const aContact) | tek noktaya yayın iletişimi için yeni Örgü Değişimi oluşturun |
StoreNotifyingContact (const uint64_t aNodeId, const IPAddress & aNodeAddr) | void bize bir zaman değişikliği bildirimi gönderen bir düğümün iletişim bilgilerini saklayın |
UpdateMulticastSyncResponse (const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse) | void bir çok noktaya yayın isteğinden gelen bir yanıtı işlemek |
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse) | void tek noktaya yayın isteğinden geri gelen bir yanıtı işlemek |
_InitClient (const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | İstemci rolü için başlat. |
_InitServer (const bool aIsAlwaysFresh) | Sunucu rolü için başlat. |
_ShutdownClient (void) | geri aramalarda mevcut olmayan istemciyi durdurun. |
_ShutdownCoordinator (void) | geri aramalarda mevcut olmayan koordinatörü durdurun. |
_ShutdownServer (void) | sunucuyu geri aramalarda kullanılamayan durdurun. |
Korumalı statik fonksiyonlar | |
---|---|
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 bir zaman eşitleme isteği geldiğinde Weave Exchange'den geri arama |
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 Önyüklemeden sonra güvenilmez bariyeri geçtiğimizde Weave Timer'dan geri arama |
IsOperationalState ( ClientState aState) | bool Verilen durumun çalışır durumda olup olmadığını belirleyin. |
_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
otomatik senkronizasyon özelliği için kullanılan durumlar.
mIsUrgentDiscoveryBeklemede
bool mIsUrgentDiscoveryPending
mNominal DiscoveryPeriod_msec
int32_t mNominalDiscoveryPeriod_msec
mShortestDiscoveryPeriod_msec
int32_t mShortestDiscoveryPeriod_msec
mSyncPeriod_msn
int32_t mSyncPeriod_msec
mExchangeContext
ExchangeContext * mExchangeContext
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
EnterState_Discover
void EnterState_Discover( void )
bu durum geçiş işlevleri dahilidir ve önceki durumun bunları işlemesinin hiçbir yolu olmayacağından hata kodu döndüremez.
herhangi bir başarısızlık, sonunda başka bir durum geçişine neden olacaktır (zaman aşımı olabilir), zamanlayıcı bile başarısız olursa, hilemiz bitti ve bazı yanlış durumlarda takılabiliriz
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 )
Genel türler
Müşteri durumu
ClientState
bu Zaman Senkronizasyonu İstemcisinin mevcut durumu
CommState
CommState
belirli bir kişiyle iletişim durumu.
Bunun nedeni genelinde olduğu iletişime genelinde olduğu
KatılımcıFiltresi
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
geri arama, yanıtlardan zaman düzeltmesini hesaplamadan hemen önce gerçekleşir.
uygulama katmanı, aContact[i].mResponseStatus öğesinin üzerine kResponseStatus_Invalid öğesinin üzerine yazabilir, böylece yanıt hesaplamada yoksayılabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
|
OnSyncRequestAlınanİşleyici
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
Az önce bir zaman eşitleme isteği aldığımızı belirtmek için geri arama.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
parametreler |
| ||||||||
İadeler | false ve motor bu isteği görmezden gelir |
Yanıt Durumu
ResponseStatus
belirli bir kişiye saklanan yanıtın durumu.
Bunun nedeni genelinde olduğu iletişime genelinde olduğu
Sunucu Durumu
ServerState
bu Zaman Senkronizasyonu Sunucusunun mevcut durumu
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
geri arama, otomatik eşitleme dahil, eşitlemenin başarısız olduğu düşünüldüğünde gerçekleşir.
Senkronizasyonu durdurmak için Abort çağrılırsa geri aramanın gerçekleşmediğini unutmayın.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
geri arama, otomatik eşitleme dahil, eşitlemenin başarılı olduğu kabul edildikten sonra, ancak sonuç uygulanmadan önce gerçekleşir.
Başarılı olmanın, uygulanabilir sonuçlara sahip olduğumuz anlamına gelmediğini unutmayın. Yanıt alınmaması durumunda, aNumContributor 0'a ayarlanır. uygulama katmanı, aContact[i].mResponseStatus'un üzerine kResponseStatus_Invalid'e yazabilir, böylece yanıt hesaplamada yok sayılırdı.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
parametreler |
| ||||||||||
İadeler | bu ofset sistem zamanını ayarlamak için kullanılacaksa true . aNumContributor'ın 0 olması durumunda, dönüş değeri yok sayılır. |
TimeChangeBildirim İşleyicisi
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
Az önce bir Zaman Değişikliği Bildirimi aldığımızı belirtmek için geri arama.
otomatik senkronizasyon modu etkinleştirilirse, bu geri aramadan kısa bir süre sonra otomatik olarak bir zaman senkronizasyonu planlanır. aksi takdirde uygulama katmanı, normal geri aramada mevcut olmayan kuralı tarafından kısıtlanmayan senkronizasyon işlemini doğrudan başlatmak için Senkronizasyon işlev ailesini çağırmayı seçebilir. ancak, bu özel geri aramanın hala Weave değişim katmanının geri arama yığınının üstünde olduğuna dikkat edilmelidir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
|
Genel özellikler
FiltreZaman DüzeltmeKatkıda Bulunan
ContributorFilter FilterTimeCorrectionContributor
OnSyncBaşarısız
SyncFailedHandler OnSyncFailed
OnSyncRequestAlındı
OnSyncRequestReceivedHandler OnSyncRequestReceived
ayarlanmazsa, varsayılan uygulama her zaman true değerini döndürür
OnSyncBaşarılı
SyncSucceededHandler OnSyncSucceeded
ayarlanmazsa, varsayılan davranış, çok küçük sunucu düzeltmeleri dışında tüm sonuçları almaktır.
OnTimeChangeBildirim Alındı
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mŞifrelemeTürü
uint8_t mEncryptionType
yerel iletişim için şifreleme yöntemi
mKeyId
uint16_t mKeyId
yerel iletişim için kullanılan anahtar kimliği
Korunan özellikler
uygulama
void * mApp
daha yüksek katman verilerine işaretçi
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Servisle konuşmak için kullanılan TCP bağlantısı.
mKişiler
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
İletişim bilgileri keşif boyunca öğrendik.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
daha yüksek katmana bir geri aramadaysak doğru
mLsonOksiteGönderildi
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRol
TimeSyncRole mRole
Bu düğümün gerçek rolü.
mSunucu Durumu
ServerState mServerState
mServiceİletişim
Contact mServiceContact
mTimestampLastCorectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
uyku zamanı için tazminata ihtiyacımız olduğu için önyükleme zamanı olması gerektiğini unutmayın
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
uyku zamanı için tazminata ihtiyacımız olduğu için önyükleme zamanı olması gerektiğini unutmayın
Kamu işlevleri
iptal
WEAVE_ERROR Abort( void )
motoru, yaptığı her şeyi iptal ederek rölanti durumuna geri dönmeye zorlar.
hiçbir senkronizasyon başarısı veya başarısızlığı çağrılmayacağına dikkat edin. tüm Dokuma Borsaları kapatılacaktır. TCP bağlantılarına daha fazla dokunulmaz. zaten boş durumdaysak işlem yok. geri aramalarda mevcut değildir.
Ayrıntılar | |
---|---|
İadeler | WEAVE_NO_ERROR başarı üzerine |
Otomatik Senkronizasyonu Devre Dışı Bırak
void DisableAutoSync( void )
otomatik senkronizasyonu devre dışı bırakın.
yalnızca boşta durumda kullanılabilir. geri aramalarda mevcut değildir.
Otomatik Senkronizasyonu Etkinleştir
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
otomatik senkronizasyonu etkinleştir.
yalnızca boşta durumda kullanılabilir. keşif hemen gerçekleşir. geri aramalarda mevcut değildir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
| ||||||
İadeler | WEAVE_NO_ERROR başarı üzerine |
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
bu motorun depolamak üzere yapılandırıldığı maksimum kişi sayısı için basit alıcı
GetNextOlabilirlik
int8_t GetNextLikelihood( void ) const
kalıcı olma olasılığını çıkarın.
sonuç yalnızca, OnSyncSucceeded ve OnSyncFailed geri aramaları içinde, eşitleme işlemi tamamlandıktan sonra geçerli olacaktır. aksi takdirde geçicidir ve kullanılacak bir sonraki olasılık yerine mevcut Olasılık olabilir.
Ayrıntılar | |
---|---|
İadeler | yanıtın bir sonraki istekte kullanılma olasılığı |
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
bu istemciyi başlat.
geri aramalarda mevcut değil
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
parametreler |
| ||||||||||||
İadeler | WEAVE_NO_ERROR başarı üzerine |
Başlatma Koordinatörü
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 )
bu koordinatörü başlat.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
parametreler |
| ||||||||||||
İadeler | WEAVE_NO_ERROR başarı üzerine |
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
Sunucu rolü için başlatma, amaç bir Zaman Eşitleme Sunucusu olacaksa, nesne yapımından sonraki ilk işlev olarak çağrılmalıdır.
geri aramalarda mevcut değil
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
| ||||||
İadeler | WEAVE_NO_ERROR başarı üzerine |
MulticastTimeChangeBildirim
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Daha yüksek katman tarafından çok noktaya yayın zaman değişikliği bildirimine çağrılır.
geri aramalarda mevcut değildir.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
|
RegisterDüzeltmeSunucudanOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Herhangi bir Sunucuyla veya NTP gibi bazı güvenilir araçlarla bir zaman eşitleme turunu yeni bitirdiğimizi belirtmek için daha yüksek katman tarafından çağrıldı.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Daha üst katman tarafından, diğer yerel Koordinatörlerle bir zaman eşitleme turunu henüz tamamladığımızı belirtmek için çağrıldı.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
Kapat
WEAVE_ERROR Shutdown( void )
hangi rolü oynarsa oynasın hizmeti durdurun.
Herhangi bir init işlevine başka bir çağrı yapılmadan önce, ayrılan kaynakları uygun şekilde geri almak için bu işlev çağrılmalıdır. geri aramalarda mevcut değildir.
Ayrıntılar | |
---|---|
İadeler | WEAVE_NO_ERROR başarı üzerine |
senkronizasyon
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
mevcut kişileri kullanarak senkronize edin.
geçerli bir kişi yoksa senkronizasyon işlemi başarısız olabilir. hemen keşfetmeye zorlamak için aForceDiscoverAgain öğesini true olarak ayarlayın. yalnızca boşta durumda kullanılabilir. geri aramalarda mevcut değildir.
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | WEAVE_NO_ERROR başarı üzerine |
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
verilen kişi listesini kullanarak senkronize edin.
mevcut kişi listesi temizlenir. yalnızca boşta durumda kullanılabilir. geri aramalarda mevcut değildir.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
İadeler | WEAVE_NO_ERROR başarı üzerine |
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
verilen TCP bağlantısını ve ilişkili şifrelemeyi ve anahtar kimliğini kullanarak eşitleyin.
arayan kişi, eşitleme tamamlandıktan sonra TCP bağlantısının sahipliğini almalıdır. TCP bağlantısı için hiçbir geri aramanın üzerine yazılmaz, çünkü yeni bir Örgü Değişimi oluşturulur ve geri aramalar bu bağlamın üzerine ayarlanır ve yalnızca boş durumda kullanılabilir. geri aramalarda mevcut değildir.
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | WEAVE_NO_ERROR başarı üzerine |
TimeSyncNode
TimeSyncNode( void )
Korumalı fonksiyonlar
AutoSyncNow
void AutoSyncNow( void )
otomatik senkronizasyon oturumunu başlatmak için dahili işlev
Geri AramaForSyncCompletion
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 )
uygulama katmanına geri arama başlat.
hata geri aramasını başlatmak için aIsSuccessful öğesini false olarak ayarlayın
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindDeğiştirilebilirİletişim
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
iletişim bilgilerini saklamak için bir yuva döndür
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
konuşmak için bir sonraki geçerli ve boşta kişiyi bul
GetNumNotYetCompletedKişiler
int16_t GetNumNotYetCompletedContacts( void )
geçerli olan kişilerin sayısını alın, ancak henüz onlarla konuşmadık.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
şimdiye kadar toplanan 'güvenilir' yanıtların sayısını alın.
yeterli sayıda yanıt toplayıp toplamadığımızı belirlemek için aradılar
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
tüm yerel kişileri geçersiz kıl
InvalidateServiceİletişim
void InvalidateServiceContact( void )
servisle irtibatı geçersiz kıl
RegisterCommError
void RegisterCommError( Contact *const aContact )
belirli bir kişide iletişim hatasını kaydedin ve gerekirse otomatik keşif süresini kısaltın aContact, konuşacak kimsemiz olmadığını belirtmek için NULL olabilir ve bu nedenle otomatik keşif süresini kısaltın
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
bir kişiye tek noktaya yayın eşitleme isteği gönder.
*rIsMessageSent, mesajın gönderilip gönderilmediğini gösterecek şekilde ayarlanacaktır. adrese ulaşılamıyor gibi iletişim hataları döndürülmez, bu nedenle arayan hem dönüş kodunu hem de *rIsMessageSent'i kontrol etmelidir.
Tümü Tamamlanan Kişileri AyarlaBoşta
int16_t SetAllCompletedContactsToIdle( void )
tamamlanan tüm kişileri tekrar boş durumuna sıfırlayın, ancak yanıta dokunmayın.
bu, aynı düğüme yapılan iki iletişim turu arasında çağrılır
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
tüm geçerli yerel kişileri boş duruma ayarlayın ve yanıtı silin.
bu, onlarla tek tek iletişim kurmaya başlamadan önce çağrılır
SetClientState
void SetClientState( const ClientState state )
KurulumUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
tek noktaya yayın iletişimi için yeni Örgü Değişimi oluşturun
MağazaBildiriliyorİletişim
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
bize bir zaman değişikliği bildirimi gönderen bir düğümün iletişim bilgilerini saklayın
GüncellemeMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
bir çok noktaya yayın isteğinden gelen bir yanıtı işlemek
GüncellemeUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
tek noktaya yayın isteğinden geri gelen bir yanıtı işlemek
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
İstemci rolü için başlat.
Init kamu işlevleri ailesi tarafından dahili olarak kullanılmak üzere tasarlanmıştır. Dönmeden önce mClientState ayarlanmalıdır. geri aramalarda mevcut değil
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
| ||||||
İadeler | WEAVE_NO_ERROR başarı üzerine |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
Sunucu rolü için başlat.
Init kamu işlevleri ailesi tarafından dahili olarak kullanılmak üzere tasarlanmıştır. Dönmeden önce mClientState ayarlanmalıdır. geri aramalarda mevcut değil
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | WEAVE_NO_ERROR başarı üzerine |
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
geri aramalarda mevcut olmayan istemciyi durdurun.
Ayrıntılar | |
---|---|
İadeler | WEAVE_NO_ERROR başarı üzerine |
_Kapatma Koordinatörü
WEAVE_ERROR _ShutdownCoordinator( void )
geri aramalarda mevcut olmayan koordinatörü durdurun.
Ayrıntılar | |
---|---|
İadeler | WEAVE_NO_ERROR başarı üzerine |
_ShutdownSunucusu
WEAVE_ERROR _ShutdownServer( void )
sunucuyu geri aramalarda kullanılamayan durdurun.
Ayrıntılar | |
---|---|
İadeler | WEAVE_NO_ERROR başarı üzerine |
Korumalı statik fonksiyonlar
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 )
bir zaman eşitleme isteği geldiğinde Weave Exchange'den geri arama
HandleTimeChangeBildirim
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 )
Önyüklemeden sonra güvenilmez bariyeri geçtiğimizde Weave Timer'dan geri arama
OperasyonelDurum
bool IsOperationalState( ClientState aState )
Verilen durumun çalışır durumda olup olmadığını belirleyin.
ClientState'in işletim durumunu gösterip göstermediğini, yani istemcinin başlatmayı tamamlayıp tamamlamadığını ve kapatma sürecinde olup olmadığını belirlemek için elverişlilik yöntemi.
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | başlatma tamamlandıktan sonra ve kapatma başlamadan önce durum düşüyorsa true , aksi takdirde false . |
_OnSyncBaşarılı
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )