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
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) typedef
void(*
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) typedef
bool(*
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{
  kServerState_UnreliableAfterBoot,
  kServerState_Idle
}
enum
Bu Zaman Senkronizasyon Sunucusu'nun mevcut durumu
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
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) typedef
bool(*
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) typedef
void(*
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)
iletişim bilgilerini saklamak için bir yuva döndürün
GetClientStateName(void) const
const char *const
GetNextIdleContact(void)
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

mActiveContact

Contact * mActiveContact

bağlamını bilmelisiniz.

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

CommState

 CommState

İletişimin durumunu

Contact herkese açık olduğu için bu albüm herkese açık

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
[in] aApp
Init'te ayarlanmış, uygulama katmanı verilerine işaret eden bir işaretçi.
[in] aContact
kişiler 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 çağırmayı (zaman senkronizasyonu isteği aldığımızı) belirtmek için geri arama yaparız.

Ayrıntılar
Parametreler
[in] aApp
Init'te ayarlanmış, uygulama katmanı verilerine işaret eden bir işaretçi.
[in] aMsgInfo
Gönderenle ilgili bilgiler de dahil olmak üzere alınan zaman senkronizasyonu isteği hakkında bilgiler içeren bir WeaveMessageInfo.
[in] aLikelyhood
gönderen tarafından istenen yanıt olasılığı
[in] aIsTimeCoordinator
Kaynak düğüm bir Zaman Senkronizasyonu Koordinatörüyse doğru
İ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
[in] aApp
Init'te ayarlanmış, uygulama katmanı verilerine işaret eden bir işaretçi.
[in] aErrorCode
başarısızlığı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ı 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
[in] aApp
Init'te ayarlanmış, uygulama katmanı verilerine işaret eden bir işaretçi.
[in] aOffsetUsec
kullanımdaki düzeltme miktarı
[in] aIsReliable
yerleşik mantık tarafından güvenilir kabul edilen düzeltme,
[in] aIsServer
düzeltme Sunuculardan mı geliyor
[in] aNumContributor
bu düzeltmeye katkıda bulunan düğüm sayısı 0, senkronizasyon işleminden sonuç gelmediği anlamına gelir.
İ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
[in] aApp
Init'te ayarlanmış, uygulama katmanı verilerine işaret eden bir işaretçi.
[in] aNodeId
istekte bulunan düğüm kimliği
[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 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
[in] aSyncPeriod_msec
senkronizasyonlar arasındaki milisaniye sayısı
[in] aNominalDiscoveryPeriod_msec
iletişim hatası görülmezse keşif arasındaki milisaniye sayısı
[in] aShortestDiscoveryPeriod_msec
iletişim hatası gözlemlenirse keşif arasındaki en kısa süre (milisaniye cinsinden)
İ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ı

GetClientState

ClientState GetClientState(
  void
) const 

müşteri durumu için basit 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ığı

GetServerState

ServerState GetServerState(
  void
) const 

sunucu durumu için basit bir 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 yapılan geri çağırmalarda kullanılan, daha yüksek katman verilerine işaret eden bir işaretçi.
[in] aExchangeMgr
Sistem genelindeki Weave Exchange Manager nesnesine yönelik 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ı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
[in] aExchangeMgr
Sistem genelindeki Weave Exchange Manager nesnesine yönelik 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
senkronizasyonlar arasındaki milisaniye sayısı
[in] aNominalDiscoveryPeriod_msec
iletişim hatası görülmezse keşif arasındaki en kısa süre (milisaniye cinsinden)
[in] aShortestDiscoveryPeriod_msec
iletişim hatası gözlemlenirse keşif arasındaki en düşük milisaniye sayısı
İ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
[in] aApp
Daha yüksek katmana yapılan geri çağırmalarda kullanılan, daha yüksek katman verilerine işaret eden bir işaretçi.
[in] aExchangeMgr
Sistem genelindeki Weave Exchange Manager nesnesine yönelik işaretçi
[in] aIsAlwaysFresh
başlangıçtaki güvenilmez zaman hariç, sunucunun her zaman senkronize olduğunu belirtmek için true (doğru) değerine ayarlanabilir. Koordinatör için false (yanlış) değerine ayarlanır.
İ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
[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 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
[in] aNumContributor
Bu zaman senkronizasyonuna katkıda bulunan koordinatör sayısı

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
[in] aForceDiscoverAgain
tüm mevcut kişiler temizlenecek ve keşif işlemi gerçekleştirilecekse doğru
İ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
[in] aNumNode
aNode dizisindeki kişi sayısı
[in] aNodes
kişi kayıtları dizisi
İ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
[in] aConnection
Weave bağlantısının işaretçisi
İadeler
Başarılı 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 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
)

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 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
[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ı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
[in] aIsAlwaysFresh
başlangıçtaki güvenilmez zaman hariç, sunucunun her zaman senkronize olduğunu belirtmek için true (doğru) değerine ayarlanabilir. Koordinatör için false (yanlış) değerine ayarlanır.
İ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
[in] aState
değerlendirilecek durum
İ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
)