nl:: Weave:: Profiles:: Time:: TimeSyncNode
Özet
Devralma
Devralındığı kaynak: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Oluşturucular ve Yıkıcılar |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
otomatik senkronizasyon özelliği için kullanılan eyaletlere göre değişir.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
açıklayacağım.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
bu durum geçiş işlevleri dahilidir ve hata kodu döndüremez çünkü önceki durumda bunlar hiçbir şekilde işlenemez.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Herkese açık türler |
|
---|---|
ClientState
|
enum bu Zaman Senkronizasyonu İstemcisinin mevcut durumu |
CommState
|
enum belirli bir kişiyle iletişimin durumu. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
geri arama, yanıtlardan elde edilen zaman düzeltmesini hesaplamamızdan hemen önce yapılır. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
geri arama isteği gönderir. |
ResponseStatus
|
enum belirli bir kişiye verilen kayıtlı yanıtın durumu |
ServerState{
|
enum bu Zaman Senkronizasyon Sunucusunun şu anki durumu |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
Geri çağırma, otomatik senkronizasyon da dahil olmak üzere senkronizasyonun 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 çağırma, otomatik senkronizasyon da dahil olmak üzere senkronizasyonun başarılı kabul edilmesinden sonra, ancak sonuç uygulanmadan önce gerçekleşir. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
bildirimi gönderin. |
Herkese açık özellikler |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
ayarlanmazsa varsayılan uygulama her zaman doğru değerini döndürür
|
OnSyncSucceeded
|
ayarlanmazsa varsayılan davranış, çok küçük sunucu düzeltmeleri dışında tüm sonuçları alı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 üst katman verilerine işaretçi
|
mClientState
|
|
mConnectionToService
|
Hizmetle konuşmak için kullanılan TCP bağlantısı.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Keşif süreci boyunca öğrenilen iletişim bilgileri.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
daha yüksek bir katmana geri çağırmamız
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Bu düğümün gerçek rolü.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
uyku süresi için telafiye ihtiyacımız olduğundan cihazın açılma süresi
|
mTimestampLastLocalSync_usec
|
timesync_t
uyku süresi için telafiye ihtiyacımız olduğundan cihazın açılma süresi
|
Herkese açık işlevler |
|
---|---|
Abort(void)
|
motoru boşta kalma durumuna geri döndürmeye zorlayabilir ve yaptığı tüm işlemleri iptal edebilir.
|
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ştirin.
|
GetCapacityOfContactList(void) const
|
int
bu motorun depolayacak şekilde 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ı hale gelme olasılığını ayıklamak için kullanılır.
|
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ın.
|
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)
|
amacı Zaman Senkronizasyon Sunucusu olmaksa, sunucu rolü için ilk kullanıma hazırlama, nesne oluşturulduktan sonra ilk işlev olarak çağrılmalıdır.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Çoklu yayın zaman değişikliği bildirimi için daha üst katman tarafından çağrıldı.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Herhangi bir Sunucu ile veya NTP gibi bazı güvenilir yöntemlerle bir tur zaman senkronizasyonunu bitirdiğimizi belirtmek için daha üst katman tarafından çağrılır.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Diğer yerel koordinatörlerle bir grup senkronizasyonu bitirdiğimizi belirtmek için daha üst katman tarafından çağrıldı.
|
Shutdown(void)
|
hizmeti durdurması gerekir.
|
Sync(const bool aForceDiscoverAgain)
|
mevcut kişileri kullanarak senkronize edebilirsiniz.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
senkronize edebilirsiniz.
|
SyncWithService(WeaveConnection *const aConnection)
|
belirtilen TCP bağlantısını, ilişkili şifrelemeyi ve anahtar kimliğini kullanarak senkronize edin.
|
Korunan işlevler |
|
---|---|
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 çağırma yapılmasını sağlar.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
Weave ExchangeContext'i kapatın
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
iletişim bilgilerini saklamak için bir alan döndürün
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
konuşabileceğim bir sonraki geçerli ve boşta kişiyi bul
|
GetNumNotYetCompletedContacts(void)
|
int16_t
geçerli kişilerin sayısını al ancak onlarla henüz konuşmadık.
|
GetNumReliableResponses(void)
|
int16_t
'güvenilir' sayısını alın. topladınız.
|
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
hizmetle ilgili kişiyi geçersiz kıl
|
RegisterCommError(Contact *const aContact)
|
void
belirli bir kişinin iletişim hatasını kaydetme ve gerekirse otomatik keşif süresini kısaltma
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
bir kişiye unicast senkronizasyon isteği gönder.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
tamamlanmış tüm kişileri tekrar boşta durumuna sıfırlayın, ancak yanıta dokunmayın.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
geçerli tüm yerel kişileri boşta durumuna ayarlayın ve yanıtı temizleyin.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
tek yayın iletişimi için yeni Weave Exchange hesabını oluşturma
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
bize zaman değişikliği bildirimi gönderen bir düğümün iletişim bilgilerini saklama
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
çoklu yayın isteğinden gelen bir yanıtı işle
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
unicast isteğinden gelen bir yanıtı işle
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
ilk kullanıma hazırlayın.
|
_InitServer(const bool aIsAlwaysFresh)
|
ilk kullanıma hazırlayın.
|
_ShutdownClient(void)
|
geri çağırmalarda kullanılamayan istemciyi durdurun.
|
_ShutdownCoordinator(void)
|
geri çağırmalarda kullanılamayan koordinatörü durdurun.
|
_ShutdownServer(void)
|
geri çağırmalarda kullanılamayan sunucuyu durdurun.
|
Korunan statik işlevler |
|
---|---|
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 senkronizasyon isteği geldiğinde Weave Exchange'den geri çağırma
|
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ükleme engeli sonrasında güvenilir olmayan ayarı aştığımızda Weave Zamanlayıcı'dan geri çağırma
|
IsOperationalState(ClientState aState)
|
bool
Belirli bir durumun çalışır durumda olup olmadığını belirleme.
|
_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 eyaletlere göre değişir.
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 )
bu durum geçiş işlevleri dahilidir ve hata kodu döndüremez çünkü önceki durumda bunlar hiçbir şekilde işlenemez.
herhangi bir hata, zamanlayıcı başarısız olsa bile en sonunda başka bir durum geçişiyle (zaman aşımına uğrayabilir) yol açar.
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 )
Herkese açık türler
ClientState
ClientState
bu Zaman Senkronizasyonu İstemcisinin mevcut durumu
CommState
CommState
belirli bir kişiyle iletişimin durumu.
Kişi herkese açık olduğundan bu öğe herkese açık durumda
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
geri arama, yanıtlardan elde edilen zaman düzeltmesini hesaplamamızdan hemen önce yapılır.
uygulama katmanı, aContact[i].mResponseStatus yerine kResponseStatus_ Invalid yerine aContact[i].mResponseStatus üzerine yazabilir ve bu durumda yanıt hesaplamada yoksayılır.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
geri arama isteği gönderir.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
İadeler |
false (yanlış) değerini alır ve motor bu isteği yoksayar
|
ResponseStatus
ResponseStatus
belirli bir kişiye verilen kayıtlı yanıtın durumu
Kişi herkese açık olduğundan bu öğe herkese açık durumda
ServerState
ServerState
bu Zaman Senkronizasyon Sunucusunun şu anki durumu
Özellikler | |
---|---|
kServerState_Idle
|
sunucu, isteklere normal ayarlarla yanıt vermeye hazırdır |
kServerState_UnreliableAfterBoot
|
sunucunun sistem saatini başka yollarla senkronize etmesi için ayrılan süre yalnızca aIsNeverFresh doğru (Init çağrıldığında doğru) durumunda geçerlidir |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
Geri çağırma, otomatik senkronizasyon da dahil olmak üzere senkronizasyonun başarısız olduğu düşünüldüğünde gerçekleşir.
senkronizasyonu durdurmak için İptal çağrılırsa geri çağırmanın gerçekleşmeyeceğ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 çağırma, otomatik senkronizasyon da dahil olmak üzere senkronizasyonun başarılı kabul edilmesinden sonra, ancak sonuç uygulanmadan önce gerçekleşir.
Başarılı olmanın, geçerli sonuçlar elde ettiğimiz anlamına gelmediğini unutmayın. Yanıt alınmadığı takdirde aNumContributor 0 olarak ayarlanır. Uygulama katmanı, aContact[i].mResponseStatus'ı kResponseStatus_ invalid olarak değiştirebilir. Bu durumda yanıt hesaplamada yoksayılır.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
İadeler |
bu ofset sistem saatini ayarlamak için kullanılacaksa true (doğru) değerini alır. aNumContributor 0 ise döndürülen değer yok sayılır.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
bildirimi gönderin.
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 çağırma işlevinin kısıtlanmasıyla kısıtlanmayan senkronizasyon işlemini doğrudan başlatmak için Senkronizasyon fonksiyon ailesini çağırmayı seçebilir. ancak bu özel geri çağırmanın hâlâ Weave exchange katmanının geri çağırma yığınının üzerinde olduğuna dikkat edilmelidir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
Herkese açık özellikler
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
ayarlanmazsa varsayılan uygulama her zaman doğru değerini döndürür
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
ayarlanmazsa varsayılan davranış, çok küçük sunucu düzeltmeleri dışında tüm sonuçları alır
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
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
mApp
void * mApp
daha üst katman verilerine işaretçi
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Hizmetle konuşmak için kullanılan TCP bağlantısı.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Keşif süreci boyunca öğrenilen iletişim bilgileri.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
daha yüksek bir katmana geri çağırmamız
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Bu düğümün gerçek rolü.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
uyku süresi için telafiye ihtiyacımız olduğundan cihazın açılma süresi
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
uyku süresi için telafiye ihtiyacımız olduğundan cihazın açılma süresi
Herkese açık işlevler
İptal et
WEAVE_ERROR Abort( void )
motoru boşta kalma durumuna geri döndürmeye zorlayabilir ve yaptığı tüm işlemleri iptal edebilir.
senkronizasyonun başarılı veya başarısız olmasının çağrılamayacağını unutmayın. tüm Weave Exchange'leri kapatılacak. TCP bağlantılarına daha fazla dokunulmayacaktır. boşta kaldığımızda işlem yapılmaz. geri çağırmalarda kullanılamaz.
Ayrıntılar | |
---|---|
İadeler |
Başarıda WEAVE_NO_ERROR
|
DisableAutoSync
void DisableAutoSync( void )
otomatik senkronizasyonu devre dışı bırakın.
yalnızca boşta kaldığında kullanılabilir. geri çağırmalarda kullanılamaz.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
otomatik senkronizasyonu etkinleştirin.
yalnızca boşta kaldığında kullanılabilir. anında gerçekleşir. geri çağırmalarda kullanılamaz.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarıda WEAVE_NO_ERROR
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
bu motorun depolayacak şekilde yapılandırıldığı maksimum kişi sayısı için basit alıcı
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
kalıcı hale gelme olasılığını ayıklamak için kullanılır.
sonuç yalnızca senkronizasyon işlemi tamamlandıktan sonra OnSyncSucceeded ve OnSyncFailed geri çağırmaları içinde geçerli olur. Aksi takdirde geçicidir ve kullanılacak sonraki yöntem yerine o andaki 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ın.
geri çağırmalarda kullanılamaz
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
İadeler |
Başarıda WEAVE_NO_ERROR
|
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 )
bu koordinatörü başlat.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
İadeler |
Başarıda WEAVE_NO_ERROR
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
amacı Zaman Senkronizasyon Sunucusu olmaksa, sunucu rolü için ilk kullanıma hazırlama, nesne oluşturulduktan sonra ilk işlev olarak çağrılmalıdır.
geri çağırmalarda kullanılamaz
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarıda WEAVE_NO_ERROR
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Çoklu yayın zaman değişikliği bildirimi için daha üst katman tarafından çağrıldı.
geri çağırmalarda kullanılamaz.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Herhangi bir Sunucu ile veya NTP gibi bazı güvenilir yöntemlerle bir tur zaman senkronizasyonunu bitirdiğimizi belirtmek için daha üst katman tarafından çağrılır.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Diğer yerel koordinatörlerle bir grup senkronizasyonu bitirdiğimizi belirtmek için daha üst katman tarafından çağrıldı.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Kapat
WEAVE_ERROR Shutdown( void )
hizmeti durdurması gerekir.
Bu işlev, herhangi bir başlatma işlevine başka bir çağrı yapılmadan önce, ayrılan kaynakları uygun şekilde geri almak için çağrılmalıdır. geri çağırmalarda kullanılamaz.
Ayrıntılar | |
---|---|
İadeler |
Başarıda WEAVE_NO_ERROR
|
Sync
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
mevcut kişileri kullanarak senkronize edebilirsiniz.
kullanılabilir kişi yoksa senkronizasyon işlemi başarısız olabilir. keşfi hemen zorunlu kılmak için aForceKeşfetAZ değerini tekrar doğru değerine ayarlayın. yalnızca boşta kaldığında kullanılabilir. geri çağırmalarda kullanılamaz.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarıda WEAVE_NO_ERROR
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
senkronize edebilirsiniz.
mevcut kişi listesi silinir. yalnızca boşta kaldığında kullanılabilir. geri çağırmalarda kullanılamaz.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarıda WEAVE_NO_ERROR
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
belirtilen TCP bağlantısını, ilişkili şifrelemeyi ve anahtar kimliğini kullanarak senkronize edin.
arayan, senkronizasyon bittikten sonra TCP bağlantısının sahipliğini almalıdır. Yeni bir Weave Exchange oluşturulacağından ve bu bağlamın üzerine geri çağırmalar yalnızca boşta durumda olduğundan, TCP bağlantısı için geri çağırmanın üzerine yazılmaz. geri çağırmalarda kullanılamaz.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarıda WEAVE_NO_ERROR
|
TimeSyncNode
TimeSyncNode( void )
Korunan işlevler
AutoSyncNow
void AutoSyncNow( void )
otomatik senkronizasyon oturumunu başlatmak için dahili işlev
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 )
uygulama katmanına geri çağırma yapılmasını sağlar.
Hata geri çağırmasını tetiklemek için aIsSuccess'i false olarak ayarlayın
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
iletişim bilgilerini saklamak için bir alan döndürün
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
konuşabileceğim bir sonraki geçerli ve boşta kişiyi bul
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
geçerli kişilerin sayısını al ancak onlarla henüz konuşmadık.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
'güvenilir' sayısını alın. topladınız.
yeterli sayıda yanıt toplayıp toplamadığımızı belirlemek için
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
InvalidateServiceContact
void InvalidateServiceContact( void )
hizmetle ilgili kişiyi geçersiz kıl
RegisterCommError
void RegisterCommError( Contact *const aContact )
belirli bir kişinin iletişim hatasını kaydetme ve gerekirse otomatik keşif süresini kısaltma
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
bir kişiye unicast senkronizasyon isteği gönder.
*rIsMessageSent, mesajın gönderilip gönderilmediğini gösterecek şekilde ayarlanır. "Erişilemeyen adres" gibi iletişim hataları döndürülmez. Bu nedenle arayan, hem dönüş kodunu hem de *rIsMessageSent'ı kontrol etmelidir.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
tamamlanmış tüm kişileri tekrar boşta durumuna sıfırlayın, ancak yanıta dokunmayın.
Buna, aynı düğüme yapılan iki iletişim turu arasında denir
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
geçerli tüm yerel kişileri boşta durumuna ayarlayın ve yanıtı temizleyin.
tek tek iletişim kurulmadan önce çağrı yapılır.
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
tek yayın iletişimi için yeni Weave Exchange hesabını oluşturma
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
bize zaman değişikliği bildirimi gönderen bir düğümün iletişim bilgilerini saklama
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
çoklu yayın isteğinden gelen bir yanıtı işle
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
unicast isteğinden gelen bir yanıtı işle
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
ilk kullanıma hazırlayın.
Herkese açık işlevlerden oluşan Init ailesi tarafından dahili olarak kullanılması tasarlanmıştır. Dönmeden önce mClientState ayarlanmalıdır. geri çağırmalarda kullanılamaz
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarıda WEAVE_NO_ERROR
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
ilk kullanıma hazırlayın.
Herkese açık işlevlerden oluşan Init ailesi tarafından dahili olarak kullanılması tasarlanmıştır. Dönmeden önce mClientState ayarlanmalıdır. geri çağırmalarda kullanılamaz
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarıda WEAVE_NO_ERROR
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
geri çağırmalarda kullanılamayan istemciyi durdurun.
Ayrıntılar | |
---|---|
İadeler |
Başarıda WEAVE_NO_ERROR
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
geri çağırmalarda kullanılamayan koordinatörü durdurun.
Ayrıntılar | |
---|---|
İadeler |
Başarıda WEAVE_NO_ERROR
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
geri çağırmalarda kullanılamayan sunucuyu durdurun.
Ayrıntılar | |
---|---|
İadeler |
Başarıda WEAVE_NO_ERROR
|
Korunan statik işlevler
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 senkronizasyon isteği geldiğinde Weave Exchange'den geri çağırma
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 )
önyükleme engeli sonrasında güvenilir olmayan ayarı aştığımızda Weave Zamanlayıcı'dan geri çağırma
IsOperationalState
bool IsOperationalState( ClientState aState )
Belirli bir durumun çalışır durumda olup olmadığını belirleme.
ClientState'in çalışma durumunu belirtip belirtmediğini (ör. istemcinin başlatmayı tamamlamış ve kapatma sürecinde olmadığını) belirleyen kullanışlı yöntem.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
durum, başlatma tamamlandıktan sonra ve kapanma başlamadan önce düşerse true, aksi takdirde false (yanlış) değerini alır.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )