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 durum.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
bağlamını bilmelisiniz.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
Bu durum geçiş işlevleri dahilidir ve önceki durumun bunları işleyemeyeceği için 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
|
Herkese açık türler |
|
---|---|
ClientState
|
enum Bu Time Sync İstemcisinin mevcut durumu |
CommState
|
enum İletişimin durumunu |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
geri çağırma, yanıtlardaki zaman düzeltmesini hesaplamamızdan hemen önce gerçekleşir. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
geri çağırmayı (zaman senkronizasyonu isteği aldığımızı) belirtmek için geri arama yaparız. |
ResponseStatus
|
enum Belirli bir kişiye yönelik depolanmış yanıtın durumu. |
ServerState{
|
enum Bu Zaman Senkronizasyon Sunucusu'nun mevcut durumu |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
geri çağırma, otomatik senkronizasyon dahil olmak üzere senkronizasyon başarısız olarak değerlendirildiğinde 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ı olarak kabul edilmesinden sonra, ancak sonuç uygulanmadan önce gerçekleşir. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
olarak geri aranmaya karar verdik. |
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 hariç 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
|
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
doğrudur.
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Bu düğümün gerçek rolü.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
uyku vaktine ihtiyaç duyduğumuzdan bunun başlatma süresi olması gerektiğini unutmayın
|
mTimestampLastLocalSync_usec
|
timesync_t
uyku vaktine ihtiyaç duyduğumuzdan bunun başlatma süresi olması gerektiğini unutmayın
|
Kamu işlevleri |
|
---|---|
Abort(void)
|
motoru boşta kalma durumuna geri dönmeye zorlayarak yaptığı her şeyi iptal eder.
|
DisableAutoSync(void)
|
void
otomatik senkronizasyonu devre dışı bırak'ı tıklayı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 depolayacak şekilde yapılandırıldığı maksimum kişi sayısı için basit bir alıcı
|
GetClientState(void) const
|
müşteri durumu için basit alıcı
|
GetNextLikelihood(void) const
|
int8_t
olasılığını hesaplayabilirsiniz.
|
GetServerState(void) const
|
sunucu durumu için basit bir 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)
|
koordinatörünüzü ilk kullanıma hazırlayın.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
Sunucu rolü için ilk kullanıma hazırlama, Zaman Senkronizasyon Sunucusu olmasını istiyorsanız nesne oluşturma işleminden sonra ilk işlev olarak çağrılmalıdır.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Üst katman tarafından çoklu yayın zaman değişikliği bildirimine çağrıldı.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Herhangi bir Sunucuyla veya NTP gibi bazı güvenilir yöntemlerle bir süre senkronizasyonunu yeni bitirdiğimizi belirtmek için üst katman tarafından çağrıldı.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Diğer yerel koordinatörlerle bir süre senkronizasyonu işlemini az önce bitirdiğimizi belirtmek için daha yüksek katman tarafından çağrıldı.
|
Shutdown(void)
|
veya hizmeti durdursa da olur.
|
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 senkronizasyon yapın.
|
Korunan işlevler |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
aCode WEAVE_NO_ERROR değilse dahili iptal
|
AutoSyncNow(void)
|
void
otomatik senkronizasyon oturumu 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)
|
ve uygulama katmanının geri çağrılmasına neden olur.
|
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 yuva döndürün
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
konuşabileceğim bir sonraki geçerli ve boşta olan kişiyi bul
|
GetNumNotYetCompletedContacts(void)
|
int16_t
geçerli olan kişilerin sayısını öğrenebilir, ancak henüz onlarla görüşmedik.
|
GetNumReliableResponses(void)
|
int16_t
şimdiye kadar toplanan "güvenilir" yanıtların sayısını görebilirsiniz.
|
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şiyle ilgili iletişim hatasını kaydeder ve gerekirse otomatik keşif süresini kısaltır. Konuşacak kimse olmadığını belirtmek için birKişi NULL değerine sahip olabilir. Bu sayede otomatik keşif süresini kısaltırsınız.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
kişiye tek noktaya yayın senkronizasyon isteği gönder.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
tamamlanan tüm kişileri tekrar boşta kalma durumuna sıfırlayın, ancak yanıta dokunmayın.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
Tüm geçerli yerel kişileri boşta durumuna ayarlayıp yanıtı temizleyin.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
tek noktaya yayın iletişimi için yeni Weave Exchange'i oluştur
|
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 depola
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
çoklu yayın isteğinden gelen bir yanıtı işleme
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
tek yayın isteğinden gelen bir yanıtı işleme
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
değerini başlatın.
|
_InitServer(const bool aIsAlwaysFresh)
|
değerini başlatın.
|
_ShutdownClient(void)
|
geri çağırmalarda kullanılamayan istemciyi durdurur.
|
_ShutdownCoordinator(void)
|
geri çağırmalarda kullanılamayan koordinatörü durdurur.
|
_ShutdownServer(void)
|
sunucuyu geri çağırmalarda kullanılamayan sunucuyu durdurur.
|
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
zaman senkronizasyonu 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
başlatma engelinden sonra güvenilmez durumu geçdiğimizde Weave Zamanlayıcı'dan geri çağırma
|
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 durum.
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 önceki durumun bunları işleyemeyeceği için hata kodu döndüremez.
herhangi bir hata, zamanlayıcı başarısız olsa bile sonunda başka bir durum geçişiyle (zaman aşımı olabilir) yol açacaktır, hile kalmadı ve bazı yanlış durumlarda kalabiliriz
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 Time Sync İstemcisinin mevcut durumu
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
geri çağırma, yanıtlardaki zaman düzeltmesini hesaplamamızdan hemen önce gerçekleşir.
uygulama katmanında birContact[i].mResponseStatus, kResponseStatus_ Invalid olarak değiştirilir ve bu nedenle hesaplamada yanıt yoksayılır.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
geri çağırmayı (zaman senkronizasyonu isteği aldığımızı) belirtmek için geri arama yaparız.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
İadeler |
Yanlış değerine ayarlanırsa motor bu isteği yok sayar
|
ResponseStatus
ResponseStatus
Belirli bir kişiye yönelik depolanmış yanıtın durumu.
Contact herkese açık olduğu için bu albüm herkese açık
ServerState
ServerState
Bu Zaman Senkronizasyon Sunucusu'nun mevcut durumu
Özellikler | |
---|---|
kServerState_Idle
|
Sunucunun normal ayarlarla isteklere yanıt vermeye hazır olması |
kServerState_UnreliableAfterBoot
|
başka bir şekilde kendi sistem zamanını senkronize etmesi için sunucunun ayırdığı zaman, yalnızca Init çağrıldığında aIs AlwaysFresh doğru ise anlamlıdır. |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
geri çağırma, otomatik senkronizasyon dahil olmak üzere senkronizasyon başarısız olarak değerlendirildiğinde gerçekleşir.
Senkronizasyonu durdurmak için İptal işlemi ç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ı olarak kabul edilmesinden sonra, ancak sonuç uygulanmadan önce gerçekleşir.
Başarılı olmanın geçerli sonuçlara sahip olduğumuz anlamına gelmediğini unutmayın. Yanıt alınmaması durumunda, aNumContributor 0 olarak ayarlanır. Uygulama katmanı, birContact[i].mResponseStatus değerinin üzerine kResponseStatus_ Invalid haline getirebilir ve böylece bu yanıt, hesaplamada yoksayılır.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
İadeler |
bu ofset sistem saatini ayarlamak için kullanılacaksa true değerini alır. aNumContributor 0 olduğunda döndürülen değer yoksayılır.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
olarak geri aranmaya karar verdik.
otomatik senkronizasyon modu etkinleştirilirse, bu geri çağırma işleminden kısa bir süre sonra zaman senkronizasyonu planlanır. Aksi takdirde, uygulama katmanı, normal geri aramada kullanılamaz 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 çağırmanın hâlâ Weave exchange katmanının geri çağırma yığınının üstünde olduğu unutulmamalıdır.
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 hariç tüm sonuçları almaktı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 yüksek 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
doğrudur.
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 vaktine ihtiyaç duyduğumuzdan bunun başlatma süresi olması gerektiğini unutmayın
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
uyku vaktine ihtiyaç duyduğumuzdan bunun başlatma süresi olması gerektiğini unutmayın
Kamu işlevleri
İptal et
WEAVE_ERROR Abort( void )
motoru boşta kalma durumuna geri dönmeye zorlayarak yaptığı her şeyi iptal eder.
senkronizasyon başarılı veya başarısız çağrılmayacağını unutmayın. Tüm Weave Exchange'ler kapatılacaktır. TCP bağlantılarına daha fazla dokunulmaz. Zaten boşta durumdaysak işlem yapılmaz. Geri çağırmalarda kullanılamaz.
Ayrıntılar | |
---|---|
İadeler |
Başarılı WEAVE_NO_ERROR
|
DisableAutoSync
void DisableAutoSync( void )
otomatik senkronizasyonu devre dışı bırak'ı tıklayın.
yalnızca boşta durumunda 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ştir.
yalnızca boşta durumunda kullanılabilir. Keşif hemen gerçekleşir. Geri çağırmalarda kullanılamaz.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarılı WEAVE_NO_ERROR
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
bu motorun depolayacak şekilde yapılandırıldığı maksimum kişi sayısı için basit bir alıcı
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
olasılığını hesaplayabilirsiniz.
sonuç, yalnızca OnSyncSucceeded ve OnSyncFailed'ın geri çağırmalarında senkronizasyon işlemi tamamlandıktan sonra geçerli olur. Aksi takdirde, geçicidir ve kullanılacak bir sonraki olasılık yerine mevcut Olasılık olabilir.
Ayrıntılar | |
---|---|
İadeler |
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ılı 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 )
koordinatörünüzü ilk kullanıma hazırlayın.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
İadeler |
Başarılı WEAVE_NO_ERROR
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
Sunucu rolü için ilk kullanıma hazırlama, Zaman Senkronizasyon Sunucusu olmasını istiyorsanız nesne oluşturma işleminden sonra ilk işlev olarak çağrılmalıdır.
geri çağırmalarda kullanılamaz
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarılı WEAVE_NO_ERROR
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Üst katman tarafından çoklu yayın zaman değişikliği bildirimine çağrıldı.
geri çağırmalarda kullanılamaz.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Herhangi bir Sunucuyla veya NTP gibi bazı güvenilir yöntemlerle bir süre senkronizasyonunu yeni bitirdiğimizi belirtmek için üst katman tarafından çağrıldı.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Diğer yerel koordinatörlerle bir süre senkronizasyonu işlemini az önce bitirdiğimizi belirtmek için daha yüksek katman tarafından çağrıldı.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Kapat
WEAVE_ERROR Shutdown( void )
veya hizmeti durdursa da olur.
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ılı WEAVE_NO_ERROR
|
Sync
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
mevcut kişileri kullanarak senkronize edebilirsiniz.
Kullanılabilir geçerli kişi yoksa senkronizasyon işlemi başarısız olabilir. Hemen keşfi zorunlu kılmak için aForceKeşfetAgain değerini true olarak ayarlayın. Yalnızca boşta durumda kullanılabilir. Geri çağırmalarda kullanılamaz.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarılı WEAVE_NO_ERROR
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
senkronize edebilirsiniz.
mevcut kişi listesi temizlenecek. Yalnızca boşta durumda kullanılabilir. geri çağırmalarda kullanılamaz.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarılı WEAVE_NO_ERROR
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
Belirtilen TCP bağlantısını, ilişkili şifrelemeyi ve anahtar kimliğini kullanarak senkronizasyon yapın.
arayan, senkronizasyon bittikten sonra TCP bağlantısının sahipliğini almalıdır. TCP bağlantısı için hiçbir geri çağırmanın üzerine yazılmaz. Yeni bir Weave Exchange oluşturulur ve bu bağlamın üzerine geri çağırmalar yalnızca boşta durumunda sunulur. Geri çağırmalarda kullanılamaz.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarılı WEAVE_NO_ERROR
|
TimeSyncNode
TimeSyncNode( void )
Korunan işlevler
AutoSyncNow
void AutoSyncNow( void )
otomatik senkronizasyon oturumu 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 )
ve uygulama katmanının geri çağrılmasına neden olur.
Hatanın geri aranmasını sağlamak için aIsSuccess değerini false (yanlış) değerine 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 yuva 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 olan kişiyi bul
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
geçerli olan kişilerin sayısını öğrenebilir, ancak henüz onlarla görüşmedik.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
şimdiye kadar toplanan "güvenilir" yanıtların sayısını görebilirsiniz.
olup olmadığını belirlemek üzere yapılan telefon aramalarıyla
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şiyle ilgili iletişim hatasını kaydeder ve gerekirse otomatik keşif süresini kısaltır. Konuşacak kimse olmadığını belirtmek için birKişi NULL değerine sahip olabilir. Bu sayede otomatik keşif süresini kısaltırsınız.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
kişiye tek noktaya yayın senkronizasyon isteği gönder.
*rIsMessageSent, mesajın gönderilip gönderilmediğini gösterecek şekilde ayarlanır. Adrese erişilemiyor gibi iletişim hataları döndürülmez, bu nedenle arayanın hem dönüş kodunu hem de *rIsMessageSent'i kontrol etmesi gerekir.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
tamamlanan tüm kişileri tekrar boşta kalma 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 )
Tüm geçerli yerel kişileri boşta durumuna ayarlayıp yanıtı temizleyin.
Müşterilerimizle tek tek iletişime geçmeden önce
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
tek noktaya yayın iletişimi için yeni Weave Exchange'i oluştur
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 depola
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
çoklu yayın isteğinden gelen bir yanıtı işleme
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
tek yayın isteğinden gelen bir yanıtı işleme
_İlk İstemci
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
değerini başlatın.
Kamu işlevlerinden oluşan Init ailesi tarafından dahili olarak kullanılmak üzere tasarlanmıştır. Return işleminden önce mClientState ayarlanmalıdır. Geri çağırmalarda kullanılamaz
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarılı WEAVE_NO_ERROR
|
_İlk Sunucu
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
değerini başlatın.
Kamu işlevlerinden oluşan Init ailesi tarafından dahili olarak kullanılmak üzere tasarlanmıştır. Return işleminden önce mClientState ayarlanmalıdır. Geri çağırmalarda kullanılamaz
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarılı WEAVE_NO_ERROR
|
_Kapatma İstemcisi
WEAVE_ERROR _ShutdownClient( void )
geri çağırmalarda kullanılamayan istemciyi durdurur.
Ayrıntılar | |
---|---|
İadeler |
Başarılı WEAVE_NO_ERROR
|
_Kapatma Koordinatörü
WEAVE_ERROR _ShutdownCoordinator( void )
geri çağırmalarda kullanılamayan koordinatörü durdurur.
Ayrıntılar | |
---|---|
İadeler |
Başarılı WEAVE_NO_ERROR
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
sunucuyu geri çağırmalarda kullanılamayan sunucuyu durdurur.
Ayrıntılar | |
---|---|
İadeler |
Başarılı 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 )
zaman senkronizasyonu isteği geldiğinde Weave Exchange'den geri arama
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 )
başlatma engelinden sonra güvenilmez durumu geçdiğimizde Weave Zamanlayıcı'dan geri çağırma
IsOperationalState
bool IsOperationalState( ClientState aState )
Verilen durumun çalışır durumda olup olmadığını belirleyin.
ClientState'in operasyonel durumu gösterip göstermediğini (yani istemcinin başlatma işlemini tamamladığını ve kapatma sürecinde olmadığını) belirlemenin kolaylık yöntemi.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
durum, başlatma tamamlandıktan sonra ve kapatma başlamadan önce düşerse doğru, aksi takdirde yanlış değerini alır.
|
_SenkronizasyonBaş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 )