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
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) typedef
void(*
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) typedef
bool(*
geri arama isteği gönderir.
ResponseStatus enum
belirli bir kişiye verilen kayıtlı yanıtın durumu
ServerState{
  kServerState_UnreliableAfterBoot,
  kServerState_Idle
}
enum
bu Zaman Senkronizasyon Sunucusunun şu anki durumu
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
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) typedef
bool(*
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) typedef
void(*
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)
iletişim bilgilerini saklamak için bir alan döndürün
GetClientStateName(void) const
const char *const
GetNextIdleContact(void)
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

mActiveContact

Contact * mActiveContact

açıklayacağım.

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
[in] aApp
Init'te ayarlanmış uygulama katmanı verilerine işaret eden bir işaret.
[in] aContact
kişi ve yanıt durumu dizisi
[in] aSize
aContact dizisindeki kayıt sayısı

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
[in] aApp
Init'te ayarlanmış uygulama katmanı verilerine işaret eden bir işaret.
[in] aMsgInfo
Alınan zaman senkronizasyonu isteği hakkında, gönderen hakkındaki bilgiler de dahil olmak üzere tüm bilgileri içeren WeaveMessageInfo.
[in] aLikelyhood
gönderenin istediği şekilde yanıt verme olasılığı
[in] aIsTimeCoordinator
kaynak düğüm bir Zaman Senkronizasyonu Koordinatörü ise true
İ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
[in] aApp
Init'te ayarlanmış uygulama katmanı verilerine işaret eden bir işaret.
[in] aErrorCode
hatanın nedeni

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
[in] aApp
Init'te ayarlanmış uygulama katmanı verilerine işaret eden bir işaret.
[in] aOffsetUsec
tek kullanımlık düzeltme miktarı
[in] aIsReliable
düzeltmenin yerleşik mantığın güvenilir kabul ettiği
[in] aIsServer
düzeltme Sunuculardan mı geliyor
[in] aNumContributor
ve bu düzeltmeye katkıda bulunan düğüm sayısı. 0 değeri, senkronizasyon işleminden herhangi bir sonuç elde edilmediği anlamına gelir.
İ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
[in] aApp
Init'te ayarlanmış uygulama katmanı verilerine işaret eden bir işaret.
[in] aNodeId
düğüm kimliği isteniyor
[in] aNodeAddr
istekte bulunan düğüm adresi

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
[in] aSyncPeriod_msec
senkronizasyon arasındaki milisaniye sayısı
[in] aNominalDiscoveryPeriod_msec
iletişim hatası görülmezse keşif arasındaki milisaniye cinsinden süre
[in] aShortestDiscoveryPeriod_msec
İletişim hatası gözlemlenmişse keşif arasındaki en kısa süre (milisaniye cinsinden)
İ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ı

GetClientState

ClientState GetClientState(
  void
) const 

istemci durumu 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ığı

GetServerState

ServerState GetServerState(
  void
) const 

sunucu durumu için basit alıcı

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
[in] aApp
Daha yüksek katmana geri çağırmalarda kullanılan, daha üst katman verilerine işaret eden bir işaret.
[in] aExchangeMgr
Sistem genelindeki Weave Exchange Manager nesnesini gösteren bir işaretçi
[in] aRole
kTimeSyncRole_Client veya kTimeSyncRole_Coordinator olabilir
[in] aEncryptionType
istekler ve yanıtlar için kullanılacak şifreleme türü
[in] aKeyId
istekler ve yanıtlar için kullanılacak anahtar kimliği
[in] aInitialLikelyhood
keşif aşamasında kullanılma olasılığı
İ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
[in] aExchangeMgr
Sistem genelindeki Weave Exchange Manager nesnesini gösteren bir işaretçi
[in] aEncryptionType
istekler ve yanıtlar için kullanılacak şifreleme türü
[in] aKeyId
istekler ve yanıtlar için kullanılacak anahtar kimliği
[in] aSyncPeriod_msec
senkronizasyon arasındaki milisaniye sayısı
[in] aNominalDiscoveryPeriod_msec
herhangi bir iletişim hatası gözlemlenmezse keşif arasındaki en kısa süre (milisaniye cinsinden)
[in] aShortestDiscoveryPeriod_msec
iletişim hatası gözlemlenmişse keşif arasındaki en az milisaniye
İ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
[in] aApp
Daha yüksek katmana geri çağırmalarda kullanılan, daha üst katman verilerine işaret eden bir işaret.
[in] aExchangeMgr
Sistem genelindeki Weave Exchange Manager nesnesini gösteren bir işaretçi
[in] aIsAlwaysFresh
güvenilir olmayan başlangıç zamanı dışında, sunucunun her zaman senkronize edildiğini belirtmek için "true" değerine ayarlanabilir. Koordinatör için false olarak ayarlanmalıdır.
İ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
[in] aEncryptionType
bu bildirim için kullanılacak şifreleme türü
[in] aKeyId
bu bildirim için kullanılacak anahtar kimliği

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
[in] aNumContributor
bu zaman senkronizasyonuna katkıda bulunan koordinatör sayısı

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
[in] aForceDiscoverAgain
Mevcut tüm kişiler temizlenecekse ve keşif işlemi gerçekleştirilirse true
İ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
[in] aNumNode
aNode dizisindeki temas sayısı
[in] aNodes
kişi kaydı dizisi
İ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
[in] aConnection
Weave bağlantısına işaret eden bir işaret
İadeler
Başarıda WEAVE_NO_ERROR

TimeSyncNode

 TimeSyncNode(
  void
)

Korunan işlevler

AbortOnError

void AbortOnError(
  const WEAVE_ERROR aCode
)

aCode WEAVE_NO_ERROR değilse dahili iptal

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
)

DestroyCommContext

bool DestroyCommContext(
  void
)

Weave ExchangeContext'i kapatın

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
[in] aEncryptionType
istekler ve yanıtlar için kullanılacak şifreleme türü
[in] aKeyId
istekler ve yanıtlar için kullanılacak anahtar kimliği
[in] aInitialLikelyhood
keşif aşamasında kullanılma olasılığı
İ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
[in] aIsAlwaysFresh
güvenilir olmayan başlangıç zamanı dışında, sunucunun her zaman senkronize edildiğini belirtmek için "true" değerine ayarlanabilir. Koordinatör için false olarak ayarlanmalıdır.
İ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
[in] aState
değerlendirilecek durum
İ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
)