nl:: Weave:: Profiles:: Time:: TimeSyncNode
Podsumowanie
Dziedziczenie
Dziedziczy z: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Konstruktorzy i niszczyciele |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
stany używane na potrzeby funkcji automatycznej synchronizacji.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
kontekst komunikacji.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
te funkcje przejścia stanu mają charakter wewnętrzny i nie mogą zwracać kodu błędu, ponieważ poprzedni stan nie ma do nich możliwości ich obsługi.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Typy publiczne |
|
---|---|
ClientState
|
enum | typ wyliczeniowy bieżący stan tego klienta synchronizacji czasu |
CommState
|
enum | typ wyliczeniowy stanu komunikacji z określonym kontaktem. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
oddzwonienie ma miejsce tuż przed obliczeniem korekty czasu na podstawie odpowiedzi. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
aby poinformować nas, że właśnie otrzymaliśmy żądanie synchronizacji godziny. |
ResponseStatus
|
enum | typ wyliczeniowy stanu przechowywanej odpowiedzi na określony kontakt. |
ServerState{
|
enum | typ wyliczeniowy bieżący stan tego serwera synchronizacji czasu |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
wywołanie zwrotne ma miejsce, gdy synchronizacja (w tym automatyczna synchronizacja) zostanie uznana za nieudaną. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
wywołanie zwrotne ma miejsce, gdy synchronizacja zostanie uznana za udaną (w tym automatyczną), ale przed zastosowaniem wyniku. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
aby poinformować nas o tym, że właśnie otrzymaliśmy powiadomienie o zmianie godziny. |
Atrybuty publiczne |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
Jeśli jej nie skonfigurujesz, implementacja domyślna zawsze zwraca wartość „true” (prawda).
|
OnSyncSucceeded
|
Jeśli zasada nie jest skonfigurowana, domyślne zachowanie przyjmuje wszystkie wyniki z wyjątkiem bardzo małych poprawek serwera
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
metoda szyfrowania komunikacji lokalnej
|
mKeyId
|
uint16_t
identyfikator klucza używany do komunikacji lokalnej
|
Atrybuty chronione |
|
---|---|
mApp
|
void *
wskaźnik do danych z wyższej warstwy
|
mClientState
|
|
mConnectionToService
|
Połączenie TCP używane do komunikacji z usługą.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Dane kontaktowe zebrane podczas badania.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
wartość true w przypadku wywołania zwrotnego do wyższego poziomu
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Rzeczywista rola tego węzła.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
Należy pamiętać, że musi to być czas uruchamiania, ponieważ potrzebujemy wyrównania za czas snu.
|
mTimestampLastLocalSync_usec
|
timesync_t
Należy pamiętać, że musi to być czas uruchamiania, ponieważ potrzebujemy wyrównania za czas snu.
|
Funkcje publiczne |
|
---|---|
Abort(void)
|
wymusza powrót do stanu bezczynności, przerywając pracę.
|
DisableAutoSync(void)
|
void
wyłączyć automatyczną synchronizację.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
włączyć automatyczną synchronizację.
|
GetCapacityOfContactList(void) const
|
int
prosta metoda pobierania określająca maksymalną liczbę kontaktów, które są przechowywane w tym mechanizmie w konfiguracji tej wyszukiwarki
|
GetClientState(void) const
|
prosta metoda pobierania dla stanu klienta
|
GetNextLikelihood(void) const
|
int8_t
wyodrębnienia prawdopodobieństwa stałej.
|
GetServerState(void) const
|
prosta metoda pobierająca dla stanu serwera
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
zainicjować tego klienta.
|
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)
|
zainicjowania tego koordynatora.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
dla roli serwera musi być wywołana jako pierwsza funkcja po utworzeniu obiektu, jeśli intencją ma być serwer synchronizacji czasu.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Wywoływana przez wyższą warstwę do powiadomienia o zmianie czasu transmisji w trybie multicast.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Wywoływana przez wyższą warstwę, aby wskazać, że właśnie zakończyliśmy synchronizację czasu z dowolnym serwerem lub przy użyciu pewnych niezawodnych metod, takich jak NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Wywołana przez zespół wyższego poziomu, aby poinformować, że właśnie zakończyliśmy sesję synchronizacji z innymi lokalnymi koordynatorami.
|
Shutdown(void)
|
zatrzymać usługę bez względu na jej rolę.
|
Sync(const bool aForceDiscoverAgain)
|
zsynchronizować dane za pomocą istniejących kontaktów.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
zsynchronizować dane, używając podanej listy kontaktów.
|
SyncWithService(WeaveConnection *const aConnection)
|
Przeprowadź synchronizację przy użyciu danego połączenia TCP oraz powiązanego szyfrowania i identyfikatora klucza.
|
Funkcje chronione |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
wewnętrzne przerwanie, jeśli kod nie ma wartości WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
funkcja wewnętrzna do rozpoczynania sesji automatycznej synchronizacji
|
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)
|
wywołania zwrotnego do warstwy aplikacji.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
Zamknij ExchangeContext weave
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
przywróć przedział w celu przechowywania informacji kontaktowych.
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
podaj następny prawidłowy i nieaktywny kontakt, z którym chcesz porozmawiać
|
GetNumNotYetCompletedContacts(void)
|
int16_t
sprawdzić liczbę prawidłowych kontaktów, ale jeszcze nie udało nam się z nimi porozmawiać.
|
GetNumReliableResponses(void)
|
int16_t
uzyskać liczbę zebranych do tej pory „rzetelnych” odpowiedzi.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
unieważnij wszystkie kontakty lokalne
|
InvalidateServiceContact(void)
|
void
unieważnić kontakt z usługą
|
RegisterCommError(Contact *const aContact)
|
void
zarejestrować błąd komunikacji w przypadku określonego kontaktu i w razie potrzeby skrócić okres automatycznego wykrywania. Parametr aContact może zawierać wartość NULL, co oznacza, że nie mamy z kim rozmawiać. W ten sposób skróć okres automatycznego wykrywania.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
wyślij do kontaktu żądanie synchronizacji pojedynczej transmisji.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
zresetuj wszystkie ukończone kontakty do stanu bezczynności, ale nie dotykaj odpowiedzi.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
ustaw wszystkie prawidłowe kontakty lokalne w stan nieaktywny i wyczyść odpowiedź.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
utworzenie nowej platformy Weave Exchange umożliwiającej komunikację pojedynczą.
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
przechowuj informacje kontaktowe węzła, który właśnie wysłał nam powiadomienie o zmianie czasu
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
przetwarza odpowiedź pochodzącą z żądania multiemisji
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
przetwarza odpowiedź pochodzącą z żądania pojedynczego
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
zainicjować dla roli Klient.
|
_InitServer(const bool aIsAlwaysFresh)
|
zainicjować dla roli serwera.
|
_ShutdownClient(void)
|
zatrzymuje klient niedostępny w wywołaniach zwrotnych.
|
_ShutdownCoordinator(void)
|
zatrzymuje koordynatora niedostępnego w wywołaniach zwrotnych.
|
_ShutdownServer(void)
|
zatrzymywać serwer, który nie jest dostępny w wywołaniach zwrotnych.
|
Chronione funkcje statyczne |
|
---|---|
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
wywołanie zwrotne z Weave Exchange po nadejściu żądania synchronizacji godziny;
|
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
wywołanie zwrotne z Weave Timer po przekroczeniu niestabilnej bariery po rozruchu
|
IsOperationalState(ClientState aState)
|
bool
Określ, czy dany stan działa.
|
_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
stany używane na potrzeby funkcji automatycznej synchronizacji.
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 )
te funkcje przejścia stanu mają charakter wewnętrzny i nie mogą zwracać kodu błędu, ponieważ poprzedni stan nie ma do nich możliwości ich obsługi.
Każda awaria spowoduje późniejszą zmianę stanu (może to być przekroczenie limitu czasu). Nawet jeśli minutnik się nie uda, nie będziemy w stanie działać, przez co możemy zawieszać się w niewłaściwym stanie.
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 )
Typy publiczne
ClientState
ClientState
bieżący stan tego klienta synchronizacji czasu
CommState
CommState
stanu komunikacji z określonym kontaktem.
To jest publiczne, ponieważ Kontakt jest publiczny
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
oddzwonienie ma miejsce tuż przed obliczeniem korekty czasu na podstawie odpowiedzi.
warstwa aplikacji może zastąpić parametr aContact[i].mResponseStatus na kResponseStatus_Invalid, tak aby odpowiedź była ignorowana w obliczeniach.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
aby poinformować nas, że właśnie otrzymaliśmy żądanie synchronizacji godziny.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwroty |
Ma wartość false, a wyszukiwarka zignoruje to żądanie
|
ResponseStatus
ResponseStatus
stanu przechowywanej odpowiedzi na określony kontakt.
To jest publiczne, ponieważ Kontakt jest publiczny
ServerState
ServerState
bieżący stan tego serwera synchronizacji czasu
Właściwości | |
---|---|
kServerState_Idle
|
serwer jest gotowy do odpowiadania na żądania z normalnymi ustawieniami |
kServerState_UnreliableAfterBoot
|
czas zarezerwowany na potrzeby synchronizacji czasu systemowego przez serwer przy użyciu innych środków ma znaczenie tylko wtedy, gdy parametr aIsNeverFresh ma wartość true (prawda) w przypadku wywołania Init. |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
wywołanie zwrotne ma miejsce, gdy synchronizacja (w tym automatyczna synchronizacja) zostanie uznana za nieudaną.
Pamiętaj, że wywołanie zwrotne nie jest wykonywane, jeśli przerwano działanie w celu zatrzymania synchronizacji
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
wywołanie zwrotne ma miejsce, gdy synchronizacja zostanie uznana za udaną (w tym automatyczną), ale przed zastosowaniem wyniku.
Pamiętaj, że pomyślne wyniki nie oznaczają, że mamy odpowiednie wyniki. Jeśli nie otrzymano odpowiedzi, parametr aNumContributor miałby wartość 0. Warstwa aplikacji może zastąpić parametr aContact[i].mResponseStatus na kResponseStatus_Invalid, co spowoduje zignorowanie odpowiedzi w obliczeniach.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwroty |
true (prawda), jeśli przesunięcie ma być używane do korygowania czasu systemowego. Jeśli aNumContributor wynosi 0, zwracana wartość jest ignorowana.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
aby poinformować nas o tym, że właśnie otrzymaliśmy powiadomienie o zmianie godziny.
przy włączonym trybie automatycznej synchronizacji zaplanowana jest synchronizacja czasu tuż po tym wywołaniu zwrotnym. W przeciwnym razie warstwa aplikacji może wybrać wywołanie rodziny funkcji synchronizacji, aby bezpośrednio rozpocząć operację synchronizacji, której nie ogranicza zwykła reguła braku dostępności podczas wywołania zwrotnego. Należy jednak pamiętać, że to specjalne wywołanie zwrotne znajduje się nadal nad stosem wywołań zwrotnych warstwy wymiany Weave.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Atrybuty publiczne
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
Jeśli jej nie skonfigurujesz, implementacja domyślna zawsze zwraca wartość „true” (prawda).
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Jeśli zasada nie jest skonfigurowana, domyślne zachowanie przyjmuje wszystkie wyniki z wyjątkiem bardzo małych poprawek serwera
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
metoda szyfrowania komunikacji lokalnej
mKeyId
uint16_t mKeyId
identyfikator klucza używany do komunikacji lokalnej
Atrybuty chronione
mApp
void * mApp
wskaźnik do danych z wyższej warstwy
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Połączenie TCP używane do komunikacji z usługą.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Dane kontaktowe zebrane podczas badania.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
wartość true w przypadku wywołania zwrotnego do wyższego poziomu
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Rzeczywista rola tego węzła.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
Należy pamiętać, że musi to być czas uruchamiania, ponieważ potrzebujemy wyrównania za czas snu.
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
Należy pamiętać, że musi to być czas uruchamiania, ponieważ potrzebujemy wyrównania za czas snu.
Funkcje publiczne
Przerwij
WEAVE_ERROR Abort( void )
wymusza powrót do stanu bezczynności, przerywając pracę.
Pamiętaj, że nie zostanie wywołana żadna udana lub nieudana synchronizacja. Wszystkie giełdy Weave zostaną zamknięte. Połączenia TCP nie będą miały wpływu na dalsze połączenie. Brak operacji w przypadku użytkowników, którzy są już w stanie bezczynności. Opcja niedostępna w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
DisableAutoSync
void DisableAutoSync( void )
wyłączyć automatyczną synchronizację.
dostępne tylko w stanie bezczynności. Funkcja niedostępna w wywołaniach zwrotnych.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
włączyć automatyczną synchronizację.
dostępne tylko w stanie bezczynności, wykrywanie odbywa się od razu i nie jest dostępne w wywołaniach zwrotnych.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
prosta metoda pobierania określająca maksymalną liczbę kontaktów, które są przechowywane w tym mechanizmie w konfiguracji tej wyszukiwarki
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
wyodrębnienia prawdopodobieństwa stałej.
wynik będzie prawidłowy tylko po ukończeniu operacji synchronizacji, w ramach wywołań zwrotnych OnSyncSucceeded i OnSyncFailed. W przeciwnym razie jest on przejściowy i może reprezentować bieżące prawdopodobieństwo, a nie kolejne, które zostanie użyte.
Szczegóły | |
---|---|
Zwroty |
prawdopodobieństwo użycia odpowiedzi w następnym żądaniu
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
zainicjować tego klienta.
niedostępne w wywołaniach zwrotnych
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
Powodzenie: 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 )
zainicjowania tego koordynatora.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
dla roli serwera musi być wywołana jako pierwsza funkcja po utworzeniu obiektu, jeśli intencją ma być serwer synchronizacji czasu.
niedostępne w wywołaniach zwrotnych
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Wywoływana przez wyższą warstwę do powiadomienia o zmianie czasu transmisji w trybie multicast.
niedostępne w wywołaniach zwrotnych.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Wywoływana przez wyższą warstwę, aby wskazać, że właśnie zakończyliśmy synchronizację czasu z dowolnym serwerem lub przy użyciu pewnych niezawodnych metod, takich jak NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Wywołana przez zespół wyższego poziomu, aby poinformować, że właśnie zakończyliśmy sesję synchronizacji z innymi lokalnymi koordynatorami.
Szczegóły | |||
---|---|---|---|
Parametry |
|
Wyłączono
WEAVE_ERROR Shutdown( void )
zatrzymać usługę bez względu na jej rolę.
Ta funkcja musi zostać wywołana w celu prawidłowego odzyskania przydzielonych zasobów, zanim będzie możliwe kolejne wywołanie którejkolwiek funkcji inicjowania. Nie jest ona dostępna w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
Synchronizuj
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
zsynchronizować dane za pomocą istniejących kontaktów.
Operacja synchronizacji może się nie powieść, jeśli nie będą dostępne żadne prawidłowe kontakty. Ustaw aForceDiscoverAgain na true, aby natychmiast wymuszać wykrywanie. Dostępne tylko w stanie bezczynności. Funkcja niedostępna w wywołaniach zwrotnych.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
zsynchronizować dane, używając podanej listy kontaktów.
istniejąca lista kontaktów zostałaby opróżniona. Dostępna tylko w stanie bezczynności. Funkcja niedostępna w wywołaniach zwrotnych.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
Przeprowadź synchronizację przy użyciu danego połączenia TCP oraz powiązanego szyfrowania i identyfikatora klucza.
Element wywołujący musi przejąć własność połączenia TCP po zakończeniu synchronizacji. Żadne wywołanie zwrotne dla połączenia TCP nie zostanie zastąpione, ponieważ powstanie nowa giełda Weave Exchange, a wywołania zwrotne ustawione na podstawie tego kontekstu będą dostępne tylko w stanie bezczynności. Nie są dostępne w przypadku wywołań zwrotnych.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
TimeSyncNode
TimeSyncNode( void )
Funkcje chronione
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
wewnętrzne przerwanie, jeśli kod nie ma wartości WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
funkcja wewnętrzna do rozpoczynania sesji automatycznej synchronizacji
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 )
wywołania zwrotnego do warstwy aplikacji.
Aby wywołać wywołanie zwrotne o błędzie, ustaw aIsSuccessful na wartość false (fałsz)
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
przywróć przedział w celu przechowywania informacji kontaktowych.
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
podaj następny prawidłowy i nieaktywny kontakt, z którym chcesz porozmawiać
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
sprawdzić liczbę prawidłowych kontaktów, ale jeszcze nie udało nam się z nimi porozmawiać.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
uzyskać liczbę zebranych do tej pory „rzetelnych” odpowiedzi.
aby ustalić, czy udało nam się zebrać wystarczającą liczbę odpowiedzi
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
unieważnij wszystkie kontakty lokalne
InvalidateServiceContact
void InvalidateServiceContact( void )
unieważnić kontakt z usługą
RegisterCommError
void RegisterCommError( Contact *const aContact )
zarejestrować błąd komunikacji w przypadku określonego kontaktu i w razie potrzeby skrócić okres automatycznego wykrywania. Parametr aContact może zawierać wartość NULL, co oznacza, że nie mamy z kim rozmawiać. W ten sposób skróć okres automatycznego wykrywania.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
wyślij do kontaktu żądanie synchronizacji pojedynczej transmisji.
*rIsMessageSent wskazuje, czy wiadomość została wysłana. Błędy komunikacji, takie jak nieosiągalny adres, nie są zwracane, więc wywołujący powinien sprawdzić zarówno kod zwrotny, jak i *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
zresetuj wszystkie ukończone kontakty do stanu bezczynności, ale nie dotykaj odpowiedzi.
jest wywoływane między 2 rundami komunikacji do tego samego węzła
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
ustaw wszystkie prawidłowe kontakty lokalne w stan nieaktywny i wyczyść odpowiedź.
To połączenie jest nazywane, zanim zaczniemy kontaktować się z nimi po kolei.
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
utworzenie nowej platformy Weave Exchange umożliwiającej komunikację pojedynczą.
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
przechowuj informacje kontaktowe węzła, który właśnie wysłał nam powiadomienie o zmianie czasu
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
przetwarza odpowiedź pochodzącą z żądania multiemisji
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
przetwarza odpowiedź pochodzącą z żądania pojedynczego
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
zainicjować dla roli Klient.
Przeznaczona do użytku wewnętrznego przez grupę funkcji publicznych Init. Przed zwróceniem należy ustawić wartość mClientState. Niedostępne w wywołaniach zwrotnych
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
zainicjować dla roli serwera.
Przeznaczona do użytku wewnętrznego przez grupę funkcji publicznych Init. Przed zwróceniem należy ustawić wartość mClientState. Niedostępne w wywołaniach zwrotnych
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
zatrzymuje klient niedostępny w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
_Koordynator wyłączenia
WEAVE_ERROR _ShutdownCoordinator( void )
zatrzymuje koordynatora niedostępnego w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
_Wyłączenie serwera
WEAVE_ERROR _ShutdownServer( void )
zatrzymywać serwer, który nie jest dostępny w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
Powodzenie: WEAVE_NO_ERROR
|
Chronione funkcje statyczne
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 )
wywołanie zwrotne z Weave Exchange po nadejściu żądania synchronizacji godziny;
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 )
wywołanie zwrotne z Weave Timer po przekroczeniu niestabilnej bariery po rozruchu
IsOperationalState
bool IsOperationalState( ClientState aState )
Określ, czy dany stan działa.
Wygodna metoda sprawdzania, czy stan ClientState oznacza stan operacyjny, tj. klient zakończył inicjowanie i nie jest w trakcie wyłączania.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość true, jeśli stan przypada po zakończeniu inicjowania i przed rozpoczęciem wyłączania. W przeciwnym razie ma wartość false (fałsz).
|
_OnSyncSukces
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )