nl:: Weave:: Profiles:: Time:: TimeSyncNode
Podsumowanie
Dziedziczenie
Dziedziczy z: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Konstruktory i niszczyciele |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
stanów używanych w funkcji automatycznej synchronizacji.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
w kontekście komunikacji.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
te funkcje przejścia stanów są wewnętrzne i nie mogą zwracać kodu błędu, ponieważ poprzedni stan nie byłby w stanie ich obsłużyć.
|
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 stan komunikacji z danym kontaktem. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
wywołanie zwrotne 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(*
oddzwanianie z informacją, że właśnie otrzymaliśmy żądanie synchronizacji czasu. |
ResponseStatus
|
enum | typ wyliczeniowy stan zapisanej odpowiedzi dla danego kontaktu. |
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 zostanie uznana za nieudaną, w tym także automatyczna. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
wywołanie zwrotne ma miejsce po uznaniu synchronizacji za pomyślną (w tym automatycznej synchronizacji), ale przed zastosowaniem wyniku. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
oddzwanianie, by poinformować, że właśnie otrzymaliśmy powiadomienie o zmianie czasu. |
Atrybuty publiczne |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
jeśli nie zostanie ustawiona, implementacja domyślna zawsze zwraca wartość „true” (prawda)
|
OnSyncSucceeded
|
Jeśli zasada nie jest skonfigurowana, domyślnym działaniem jest przyjmowanie wszystkich wyników z wyjątkiem bardzo małych poprawek serwera
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
metoda szyfrowania na potrzeby 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]
|
Informacje kontaktowe uzyskane w trakcie odkrywania treści.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
true (prawda), jeśli mamy wywołanie zwrotne do wyższej warstwy
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Rzeczywista rola tego węzła.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
Pamiętaj, że musi to być czas uruchamiania, ponieważ potrzebujemy wynagrodzenia za czas snu.
|
mTimestampLastLocalSync_usec
|
timesync_t
Pamiętaj, że musi to być czas uruchamiania, ponieważ potrzebujemy wynagrodzenia za czas snu.
|
Funkcje publiczne |
|
---|---|
Abort(void)
|
zmuszanie silnika do powrotu do stanu bezczynności, co spowoduje przerwanie jego działania.
|
DisableAutoSync(void)
|
void
wyłącz automatyczną synchronizację.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
włącz automatyczną synchronizację.
|
GetCapacityOfContactList(void) const
|
int
proste metody pobierania dla maksymalnej liczby kontaktów skonfigurowanych do przechowywania w tym mechanizmie
|
GetClientState(void) const
|
proste pobieranie dla stanu klienta
|
GetNextLikelihood(void) const
|
int8_t
i wyodrębnij prawdopodobieństwo trwałego.
|
GetServerState(void) const
|
proste pobieranie dla stanu serwera
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
zainicjuj 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)
|
zainicjować tego koordynatora.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
inicjowanie dla roli serwera musi być wywoływane jako pierwsza funkcja po stworzeniu obiektu, jeśli intencją ma być serwer synchronizacji czasu.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Wywoływana przez powiadomienia wyższej warstwy o zmianie czasu transmisji grupowej.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Wywoływana przez wyższą warstwę, aby wskazać, że właśnie zakończyliśmy rundę synchronizacji czasu z dowolnym serwerem lub za pomocą pewnego niezawodnego sposobu, takiego jak NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Wywoływana przez wyższą warstwę, aby wskazać, że właśnie zakończyliśmy rundę czasową synchronizacji z innymi lokalnymi koordynatorami.
|
Shutdown(void)
|
zatrzymuje usługę niezależnie od pełnionej roli.
|
Sync(const bool aForceDiscoverAgain)
|
synchronizować z istniejącymi kontaktami.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
zsynchronizować przy użyciu podanej listy kontaktów.
|
SyncWithService(WeaveConnection *const aConnection)
|
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 aCode nie ma WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
wewnętrzna funkcja 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łanie zwrotne do warstwy aplikacji.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
zamknij okno Weave ExchangeContext.
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
zwrócić przedział do przechowywania informacji kontaktowych;
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
uzyskaj następny ważny i nieaktywny kontakt, z którym możesz porozmawiać
|
GetNumNotYetCompletedContacts(void)
|
int16_t
podaj liczbę prawidłowych kontaktów, ale jeszcze z nimi nie rozmawialiśmy.
|
GetNumReliableResponses(void)
|
int16_t
sprawdź liczbę „wiarygodnych” zebranych do tej pory 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
Rejestrowanie błędów komunikacji w przypadku określonego kontaktu i w razie potrzeby skrócenie okresu automatycznego wykrywania może mieć wartość NULL, co oznacza, że nie mamy z kim rozmawiać, i dlatego skróć okres automatycznego wykrywania.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
wyślij do kontaktu żądanie synchronizacji zbiorczej.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
resetuje wszystkie zakończone kontakty do stanu bezczynności, ale nie dotykaj odpowiedzi.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
ustawić wszystkie prawidłowe kontakty lokalne w stan nieaktywny i usunąć odpowiedź.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
utwórz nową giełdę Weave Exchange do komunikacji pojedynczej
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
przechowywać 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ź zwrotną z żądania multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
przetwarza odpowiedź zwrotną z żądania zbiorczego
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
dla roli Klient.
|
_InitServer(const bool aIsAlwaysFresh)
|
dla roli serwera.
|
_ShutdownClient(void)
|
zatrzymuje klienta niedostępnego w wywołaniach zwrotnych.
|
_ShutdownCoordinator(void)
|
zatrzymuje koordynatora niedostępnego w wywołaniach zwrotnych.
|
_ShutdownServer(void)
|
zatrzymuje serwer niedostę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 otrzymaniu żądania synchronizacji czasu.
|
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 licznika Weave Timer po przekroczeniu bariery niestabilnej po uruchomieniu.
|
IsOperationalState(ClientState aState)
|
bool
Określenie, 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
stanów używanych w 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 stanów są wewnętrzne i nie mogą zwracać kodu błędu, ponieważ poprzedni stan nie byłby w stanie ich obsłużyć.
każde niepowodzenie powinno skutkować ostatecznie przejściem do innego stanu (może to być przekroczenie czasu oczekiwania), jeśli nawet licznik czasu zawiedzie, możemy zwariować i zawiesić 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
stan komunikacji z danym kontaktem.
Te informacje są publiczne, ponieważ Kontakt jest publiczny.
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
wywołanie zwrotne ma miejsce tuż przed obliczeniem korekty czasu na podstawie odpowiedzi.
warstwa aplikacji może zastąpić wartość 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)
oddzwanianie z informacją, że właśnie otrzymaliśmy żądanie synchronizacji czasu.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwroty |
false, a wyszukiwarka zignoruje to żądanie
|
ResponseStatus
ResponseStatus
stan zapisanej odpowiedzi dla danego kontaktu.
Te informacje są 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 synchronizację czasu systemowego serwera za pomocą innych metod tylko wtedy, gdy zasada aIsZawszeFresh ma wartość prawda podczas wywoływania Init |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
wywołanie zwrotne ma miejsce, gdy synchronizacja zostanie uznana za nieudaną, w tym także automatyczna.
Pamiętaj, że wywołanie zwrotne nie zostanie wykonane, jeśli wywołanie metody Abort zatrzymasz 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 po uznaniu synchronizacji za pomyślną (w tym automatycznej synchronizacji), ale przed zastosowaniem wyniku.
Pamiętaj, że sukces nie oznacza, że mamy odpowiednie wyniki. Jeśli nie otrzymano odpowiedzi, parametr aNumContributor ma wartość 0. Warstwa aplikacji może zastąpić wartość aContact[i].mResponseStatus na kResponseStatus_Invalid, tak aby odpowiedź była ignorowana w obliczeniach.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwroty |
true (prawda), jeśli to przesunięcie ma być używane do korygowania czasu systemowego. w przypadku, gdy aNumContributor ma wartość 0, zwrócona wartość jest ignorowana.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
oddzwanianie, by poinformować, że właśnie otrzymaliśmy powiadomienie o zmianie czasu.
Jeśli włączony jest tryb automatycznej synchronizacji, synchronizacja czasowa zostanie zaplanowana automatycznie krótko po tym wywołaniu. W przeciwnym razie warstwa aplikacji może wybrać wywołanie rodziny funkcji synchronizacji, aby bezpośrednio rozpocząć operację synchronizacji, która nie jest ograniczona przez zwykłą regułę braku możliwości wywołania zwrotnego. Należy jednak zauważyć, że to specjalne wywołanie zwrotne znajduje się nadal na stosie wywołań zwrotnych warstwy wymiany Weave.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Atrybuty publiczne
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
jeśli nie zostanie ustawiona, implementacja domyślna zawsze zwraca wartość „true” (prawda)
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Jeśli zasada nie jest skonfigurowana, domyślnym działaniem jest przyjmowanie wszystkich wyników z wyjątkiem bardzo małych poprawek serwera
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
metoda szyfrowania na potrzeby 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żyte do komunikacji z usługą.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Informacje kontaktowe uzyskane w trakcie odkrywania treści.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
true (prawda), jeśli mamy wywołanie zwrotne do wyższej warstwy
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
Pamiętaj, że musi to być czas uruchamiania, ponieważ potrzebujemy wynagrodzenia za czas snu.
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
Pamiętaj, że musi to być czas uruchamiania, ponieważ potrzebujemy wynagrodzenia za czas snu.
Funkcje publiczne
Przerwij
WEAVE_ERROR Abort( void )
z powrotem silnika do stanu bezczynności, przerywając działanie.
Uwaga: nie zostanie wywołana pomyślna ani niepowodzenie synchronizacji. wszystkie giełdy Weave Exchange zostaną zamknięte. Nie dotyczy to połączeń TCP. nie można wykonać żadnej operacji, jeśli jesteśmy już w stanie bezczynności. niedostępne w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
DisableAutoSync
void DisableAutoSync( void )
wyłącz automatyczną synchronizację.
dostępna tylko w stanie bezczynności. niedostępne w wywołaniach zwrotnych.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
włącz automatyczną synchronizację.
dostępna tylko w stanie bezczynności. jest wykrywany od razu. niedostępne w wywołaniach zwrotnych.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
proste metody pobierania dla maksymalnej liczby kontaktów skonfigurowanych do przechowywania w tym mechanizmie
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
i wyodrębnij prawdopodobieństwo trwałego.
wynik byłby prawidłowy tylko po zakończeniu synchronizacji, w ramach wywołań zwrotnych OnSyncSucceeded i OnSyncFailed. w przeciwnym razie jest przejściowa i może stanowić bieżące prawdopodobieństwo, a nie kolejną.
Szczegóły | |
---|---|
Zwroty |
prawdopodobieństwo wykorzystania 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 )
zainicjuj tego klienta.
niedostępne w wywołaniach zwrotnych
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
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 )
zainicjować tego koordynatora.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
inicjowanie dla roli serwera musi być wywoływane jako pierwsza funkcja po stworzeniu obiektu, jeśli intencją ma być serwer synchronizacji czasu.
niedostępne w wywołaniach zwrotnych
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Wywoływana przez powiadomienia wyższej warstwy o zmianie czasu transmisji grupowej.
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 rundę synchronizacji czasu z dowolnym serwerem lub za pomocą pewnego niezawodnego sposobu, takiego jak NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Wywoływana przez wyższą warstwę, aby wskazać, że właśnie zakończyliśmy rundę czasową synchronizacji z innymi lokalnymi koordynatorami.
Szczegóły | |||
---|---|---|---|
Parametry |
|
Wyłączono
WEAVE_ERROR Shutdown( void )
zatrzymuje usługę niezależnie od pełnionej roli.
Ta funkcja musi zostać wywołana w celu prawidłowego odzyskania przydzielonych zasobów przed wywołaniem dowolnej z funkcji inicjujących. niedostępne w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
Synchronizacja
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
synchronizować z istniejącymi kontaktami.
Synchronizacja może się nie udać, jeśli nie będą dostępne żadne prawidłowe kontakty. ustaw w aForceDiscoverAgain wartość „true”, aby natychmiast wymusić wykrywanie. dostępna tylko w stanie bezczynności. niedostępne w wywołaniach zwrotnych.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
zsynchronizować przy użyciu podanej listy kontaktów.
że istniejąca lista kontaktów zostałaby usunięta. dostępna tylko w stanie bezczynności. niedostępne w wywołaniach zwrotnych.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
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. dla połączenia TCP nie zostanie zastąpione żadne wywołanie zwrotne, ponieważ zostanie utworzona nowa giełda Weave Exchange, a wywołania zwrotne ustawione na tym kontekście będą dostępne tylko w stanie bezczynności. niedostępne w wywołaniach zwrotnych.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
TimeSyncNode
TimeSyncNode( void )
Funkcje chronione
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
wewnętrzne przerwanie, jeśli aCode nie ma WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
wewnętrzna funkcja 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łanie zwrotne do warstwy aplikacji.
ustaw wartość aIsSuccessful na false, aby wywołać błąd wywołania zwrotnego
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
zwrócić przedział do przechowywania informacji kontaktowych;
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
uzyskaj następny ważny i nieaktywny kontakt, z którym możesz porozmawiać
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
podaj liczbę prawidłowych kontaktów, ale jeszcze z nimi nie rozmawialiśmy.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
sprawdź liczbę „wiarygodnych” zebranych do tej pory odpowiedzi.
aby określić, czy zgromadziliśmy 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 )
Rejestrowanie błędów komunikacji w przypadku określonego kontaktu i w razie potrzeby skrócenie okresu automatycznego wykrywania może mieć wartość NULL, co oznacza, że nie mamy z kim pogadać. W związku z tym skróć okres automatycznego wykrywania.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
wyślij do kontaktu żądanie synchronizacji zbiorczej.
*rIsMessageSent zostanie ustawiony, by wskazać, czy wiadomość została wysłana. błędy komunikacji, takie jak adres nieosiągalny, nie są zwracane, więc rozmówca powinien sprawdzić zarówno kod zwrotny, jak i *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
resetuje wszystkie zakończone kontakty do stanu bezczynności, ale nie dotykaj odpowiedzi.
jest to funkcja między dwiema rundami komunikacji z tym samym węzłem
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
ustawić wszystkie prawidłowe kontakty lokalne w stan nieaktywny i usunąć odpowiedź.
ta funkcja jest wywoływana, zanim zaczniemy kontaktować się z nimi po kolei.
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
utwórz nową giełdę Weave Exchange do komunikacji pojedynczej
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
przechowywać 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ź zwrotną z żądania multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
przetwarza odpowiedź zwrotną z żądania zbiorczego
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
dla roli Klient.
Przeznaczone do użytku wewnętrznie przez członków rodziny funkcji publicznych Init. Parametr mClientState musi być ustawiony przed zwrotem. niedostępne w wywołaniach zwrotnych
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
dla roli serwera.
Przeznaczone do użytku wewnętrznie przez członków rodziny funkcji publicznych Init. Parametr mClientState musi być ustawiony przed funkcją zwrócenia. niedostępne w wywołaniach zwrotnych
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
zatrzymuje klienta niedostępnego w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
zatrzymuje koordynatora niedostępnego w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
zatrzymuje serwer niedostępny w wywołaniach zwrotnych.
Szczegóły | |
---|---|
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia
|
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 otrzymaniu żądania synchronizacji czasu.
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 licznika Weave Timer po przekroczeniu bariery niestabilnej po uruchomieniu.
IsOperationalState
bool IsOperationalState( ClientState aState )
Określenie, czy dany stan działa.
Wygodna metoda określania, czy stan klienta wskazuje stan operacyjny, tj. klient zakończył inicjalizację i nie jest w trakcie wyłączania.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
true (prawda), jeśli stan zmieni się po zakończeniu inicjowania i przed rozpoczęciem wyłączania. W przeciwnym razie ma wartość false (fałsz).
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )