nl:: Weave:: Profiles:: Time:: TimeSyncNode
Zusammenfassung
Übernahme
Übernimmt von: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Konstruktoren und Zerstörer |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
die für die automatische Synchronisierung verwendet werden.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
Kommunikationskontext.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
Diese Statusübergangsfunktionen sind intern und können keinen Fehlercode zurückgeben, da der vorherige Status keine Möglichkeit hätte, sie zu verarbeiten.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Öffentliche Typen |
|
---|---|
ClientState
|
enum Aktueller Status dieses Time Sync-Clients |
CommState
|
enum Kommunikationsstatus mit einem bestimmten Kontakt. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
erfolgt unmittelbar vor der Berechnung der Zeitkorrektur aus den Antworten. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
um anzuzeigen, dass wir gerade eine Anfrage zur Zeitsynchronisierung erhalten haben. |
ResponseStatus
|
enum Status einer gespeicherten Antwort für einen bestimmten Kontakt. |
ServerState{
|
enum Aktueller Status dieses Time Sync Servers |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
erfolgt, wenn die Synchronisierung als fehlgeschlagen angesehen wird, einschließlich der automatischen Synchronisierung. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
Der Callback erfolgt, nachdem die Synchronisierung als erfolgreich betrachtet wurde, einschließlich der automatischen Synchronisierung, aber bevor das Ergebnis angewendet wird. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
um anzuzeigen, dass wir gerade eine Zeitänderungsbenachrichtigung erhalten haben. |
Öffentliche Attribute |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
Wenn nichts festgelegt ist, gibt die Standardimplementierung immer „true“ zurück
|
OnSyncSucceeded
|
Ist die Richtlinie nicht konfiguriert, werden standardmäßig alle Ergebnisse mit Ausnahme sehr kleiner Serverkorrekturen verwendet.
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
Verschlüsselungsmethode für die lokale Kommunikation
|
mKeyId
|
uint16_t
Schlüssel-ID, die für die lokale Kommunikation verwendet wird
|
Geschützte Attribute |
|
---|---|
mApp
|
void *
Zeiger auf Daten einer höheren Ebene
|
mClientState
|
|
mConnectionToService
|
TCP-Verbindung, die für die Kommunikation mit dem Dienst verwendet wird.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Kontaktdaten, die während der Erkennung ermittelt wurden.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
true, wenn wir uns in einem Callback für höhere Layer befinden.
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Tatsächliche Rolle dieses Knotens.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
Es muss eine Startzeit sein, da wir eine Ausgleichszahlung für die Ruhezeit benötigen.
|
mTimestampLastLocalSync_usec
|
timesync_t
Es muss eine Startzeit sein, da wir eine Ausgleichszahlung für die Ruhezeit benötigen.
|
Öffentliche Funktionen |
|
---|---|
Abort(void)
|
den Motor in den Leerlaufzustand zurückversetzen, wodurch alle Vorgänge abgebrochen werden.
|
DisableAutoSync(void)
|
void
die automatische Synchronisierung zu deaktivieren.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
die automatische Synchronisierung zu aktivieren.
|
GetCapacityOfContactList(void) const
|
int
Einfacher Getter für die maximale Anzahl von Kontakten, für die diese Engine konfiguriert ist
|
GetClientState(void) const
|
Simple Getter für Clientstatus
|
GetNextLikelihood(void) const
|
int8_t
um die Wahrscheinlichkeit
einer persistenten Operation zu extrahieren.
|
GetServerState(void) const
|
Simple Getter für den Serverstatus
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
diesen Client zu initialisieren.
|
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)
|
diesen Koordinator zu initialisieren.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
Die Initialisierung für die Server-Rolle muss als erste Funktion nach der Objektkonstruktion aufgerufen werden, wenn ein Zeitsynchronisierungsserver beabsichtigt sein soll.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Wird von höherer Ebene für die Multicast-Benachrichtigung über Zeitänderungen aufgerufen.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Wird von höherer Ebene aufgerufen, um anzuzeigen, dass wir gerade eine Synchronisierung mit einem beliebigen Server oder über zuverlässige Methoden wie NTP abgeschlossen haben.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Wird von höherer Ebene aufgerufen, um anzuzeigen, dass wir gerade eine Synchronisierung mit anderen lokalen Koordinatoren abgeschlossen haben.
|
Shutdown(void)
|
den Dienst beenden, egal welche
Rolle er spielt.
|
Sync(const bool aForceDiscoverAgain)
|
mit vorhandenen Kontakten synchronisieren.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
mit der angegebenen Kontaktliste synchronisieren.
|
SyncWithService(WeaveConnection *const aConnection)
|
mit der angegebenen TCP-Verbindung und der zugehörigen Verschlüsselung und Schlüssel-ID synchronisieren.
|
Geschützte Funktionen |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
Interner Abbruch, wenn aCode nicht WEAVE_NO_ERROR ist
|
AutoSyncNow(void)
|
void
Interne Funktion zum Starten einer automatischen Synchronisierungssitzung
|
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)
|
einen Rückruf zur Anwendungsschicht herbeizuführen.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
Schließen Sie den Weave-ExchangeContext.
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
Slot zurückgeben, um Kontaktdaten zu speichern
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
nächsten gültigen und inaktiven Kontakt für die Unterhaltung abrufen
|
GetNumNotYetCompletedContacts(void)
|
int16_t
die Anzahl der gültigen Kontakte abrufen, aber wir haben noch nicht mit ihnen gesprochen.
|
GetNumReliableResponses(void)
|
int16_t
die Anzahl der "zuverlässigen" die bisher gesammelten Antworten.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
alle lokalen Kontakte entwerten
|
InvalidateServiceContact(void)
|
void
den Kontakt zum Dienst ungültig machen
|
RegisterCommError(Contact *const aContact)
|
void
Registrieren Sie Kommunikationsfehler bei einem bestimmten Kontakt und verkürzen Sie den Zeitraum für die automatische Erkennung, falls erforderlich kann ein Kontakt NULL sein, um anzuzeigen, dass wir niemanden zum Gespräch haben, und dadurch nur den Zeitraum für die automatische Erkennung verkürzen.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
Unicast-Synchronisierungsanfrage an einen Kontakt senden.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
alle abgeschlossenen Kontakte wieder auf inaktiven Status zurücksetzen, ohne auf die Antwort zu tippen
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
alle gültigen lokalen Kontakte auf inaktiv setzen und die Antwort löschen.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
Neuen Weave Exchange für Unicast-Kommunikation erstellen
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
die Kontaktdaten eines Knotens speichern, der uns gerade eine Zeitänderungsbenachrichtigung gesendet hat
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
Antwort von einer Multicast-Anfrage verarbeiten
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
Eine Antwort verarbeiten, die von einer Unicast-Anfrage zurückgegeben wird
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
Initialisierung für die Rolle "Client".
|
_InitServer(const bool aIsAlwaysFresh)
|
für die Serverrolle initialisiert werden.
|
_ShutdownClient(void)
|
den Client anhalten, der in Callbacks nicht verfügbar ist.
|
_ShutdownCoordinator(void)
|
Das Beenden des Koordinators ist in Callbacks nicht verfügbar.
|
_ShutdownServer(void)
|
zum Beenden des Servers, der in Callbacks nicht verfügbar ist.
|
Geschützte statische Funktionen |
|
---|---|
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
Rückruf von Weave Exchange bei Eingang einer zeitlichen Synchronisierungsanfrage
|
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
Callback des Weave-Timers, wenn die unzuverlässige Startbarriere übergeben wurde
|
IsOperationalState(ClientState aState)
|
bool
Bestimmt, ob der angegebene Status betriebsbereit ist.
|
_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
die für die automatische Synchronisierung verwendet werden.
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 )
Diese Statusübergangsfunktionen sind intern und können keinen Fehlercode zurückgeben, da der vorherige Status keine Möglichkeit hätte, sie zu verarbeiten.
Ein Fehler führt zu einem anderen Statusübergang (könnte eine Zeitüberschreitung sein). Wenn selbst der Timer fehlschlägt, haben wir keine Chance und können in einem falschen Status hängen bleiben.
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 )
Öffentliche Typen
ClientState
ClientState
Aktueller Status dieses Time Sync-Clients
CommState
CommState
Kommunikationsstatus mit einem bestimmten Kontakt.
Dies ist öffentlich, weil Contact öffentlich ist.
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
erfolgt unmittelbar vor der Berechnung der Zeitkorrektur aus den Antworten.
Anwendungsschicht könnte aContact[i].mResponseStatus mit kResponseStatus_Ungültig überschreiben, sodass die Antwort bei der Berechnung ignoriert wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
, um zu zeigen, dass wir gerade eine Anfrage zur Zeitsynchronisierung erhalten haben.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
false ist, und die Suchmaschine ignoriert diese Anfrage.
|
ResponseStatus
ResponseStatus
Status einer gespeicherten Antwort für einen bestimmten Kontakt.
Dies ist öffentlich, weil Contact öffentlich ist.
ServerState
ServerState
Aktueller Status dieses Time Sync Servers
Attribute | |
---|---|
kServerState_Idle
|
ist der Server bereit, auf Anfragen mit den normalen Einstellungen zu antworten. |
kServerState_UnreliableAfterBoot
|
Zeit, die für den Server reserviert ist, um seine Systemzeit auf andere Weise zu synchronisieren. Dies ist nur sinnvoll, wenn aIsAlwaysFresh beim Aufrufen von Init wahr ist. |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
erfolgt, wenn die Synchronisierung als fehlgeschlagen angesehen wird, einschließlich der automatischen Synchronisierung.
Beachte, dass der Rückruf nicht erfolgt, wenn der Abbruch aufgerufen wird, um die Synchronisierung zu stoppen
Details | |||||
---|---|---|---|---|---|
Parameter |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
Der Callback erfolgt, nachdem die Synchronisierung als erfolgreich betrachtet wurde, einschließlich der automatischen Synchronisierung, aber bevor das Ergebnis angewendet wird.
„Erfolgreich“ bedeutet nicht, dass passende Ergebnisse vorliegen. Falls keine Antwort empfangen wird, wird aNumContributor auf 0 gesetzt. Die Anwendungsschicht könnte aContact[i].mResponseStatus in kResponseStatus_Ungültig überschreiben, sodass die Antwort bei der Berechnung ignoriert wird.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabe |
true, wenn dieser Offset zur Anpassung der Systemzeit verwendet werden soll. Falls aNumContributor 0 ist, wird der Rückgabewert ignoriert.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
um anzuzeigen, dass wir gerade eine Zeitänderungsbenachrichtigung erhalten haben.
Wenn der automatische Synchronisierungsmodus aktiviert ist, wird kurz nach diesem Rückruf automatisch eine Zeitsynchronisierung geplant. Andernfalls kann die Anwendungsebene die Sync-Funktionsfamilie aufrufen, um die Synchronisierung direkt zu starten, die nicht durch die normale Regel "In Callback nicht verfügbar" eingeschränkt ist. Es ist jedoch zu beachten, dass sich dieser spezielle Callback immer noch über dem Callback-Stack der Weave Exchange-Ebene befindet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Öffentliche Attribute
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
Wenn nichts festgelegt ist, gibt die Standardimplementierung immer „true“ zurück
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Ist die Richtlinie nicht konfiguriert, werden standardmäßig alle Ergebnisse mit Ausnahme sehr kleiner Serverkorrekturen verwendet.
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
Verschlüsselungsmethode für die lokale Kommunikation
mKeyId
uint16_t mKeyId
Schlüssel-ID, die für die lokale Kommunikation verwendet wird
Geschützte Attribute
mApp
void * mApp
Zeiger auf Daten einer höheren Ebene
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
TCP-Verbindung, die für die Kommunikation mit dem Dienst verwendet wird.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Kontaktdaten, die während der Erkennung ermittelt wurden.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
true, wenn wir uns in einem Callback für höhere Layer befinden.
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Tatsächliche Rolle dieses Knotens.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
Es muss eine Startzeit sein, da wir eine Ausgleichszahlung für die Ruhezeit benötigen.
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
Es muss eine Startzeit sein, da wir eine Ausgleichszahlung für die Ruhezeit benötigen.
Öffentliche Funktionen
Abbrechen
WEAVE_ERROR Abort( void )
den Motor in den Leerlaufzustand zurückversetzen, wodurch alle Vorgänge abgebrochen werden.
Es wird kein Synchronisierungs- erfolg oder -fehler aufgerufen. werden alle Weave Exchanges geschlossen. TCP-Verbindungen sind davon nicht betroffen. keine Operation erforderlich ist, wenn wir uns bereits im Ruhezustand befinden. nicht in Callbacks verfügbar.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
DisableAutoSync
void DisableAutoSync( void )
die automatische Synchronisierung zu deaktivieren.
ist nur im inaktiven Zustand verfügbar. nicht in Callbacks verfügbar.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
die automatische Synchronisierung zu aktivieren.
ist nur im inaktiven Zustand verfügbar. werden also sofort entdeckt. nicht in Callbacks verfügbar.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
Einfacher Getter für die maximale Anzahl von Kontakten, für die diese Engine konfiguriert ist
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
um die Wahrscheinlichkeit einer persistenten Operation zu extrahieren.
Das Ergebnis ist erst nach Abschluss der Synchronisierung innerhalb der Rückrufe von OnSyncSucceeded und OnSyncFailed gültig. Andernfalls ist sie vorübergehend und wird möglicherweise eher als die aktuelle Wahrscheinlichkeit verwendet.
Details | |
---|---|
Rückgabe |
Wahrscheinlichkeit, dass die Antwort in der nächsten Anfrage verwendet wird
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
diesen Client zu initialisieren.
nicht in Callbacks verfügbar
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
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 )
diesen Koordinator zu initialisieren.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
Die Initialisierung für die Server-Rolle muss als erste Funktion nach der Objektkonstruktion aufgerufen werden, wenn ein Zeitsynchronisierungsserver beabsichtigt sein soll.
nicht in Callbacks verfügbar
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Wird von höherer Ebene für die Multicast-Benachrichtigung über Zeitänderungen aufgerufen.
nicht in Callbacks verfügbar.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Wird von höherer Ebene aufgerufen, um anzuzeigen, dass wir gerade eine Synchronisierung mit einem beliebigen Server oder über zuverlässige Methoden wie NTP abgeschlossen haben.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Wird von höherer Ebene aufgerufen, um anzuzeigen, dass wir gerade eine Synchronisierung mit anderen lokalen Koordinatoren abgeschlossen haben.
Details | |||
---|---|---|---|
Parameter |
|
Herunterfahren
WEAVE_ERROR Shutdown( void )
den Dienst beenden, egal welche Rolle er spielt.
Diese Funktion muss aufgerufen werden, um zugewiesene Ressourcen ordnungsgemäß freizugeben, bevor eine weitere Init-Funktion aufgerufen werden kann. nicht in Callbacks verfügbar.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
Synchronisieren
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
mit vorhandenen Kontakten synchronisieren.
Wenn keine gültigen Kontakte verfügbar sind, kann die Synchronisierung fehlschlagen. Setzen Sie „aForceDiscoverAgain“ auf „true“, um die Erkennung sofort zu erzwingen. ist nur im inaktiven Zustand verfügbar. nicht in Callbacks verfügbar.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
mit der angegebenen Kontaktliste synchronisieren.
vorhandenen Kontaktlisten gelöscht. ist nur im inaktiven Zustand verfügbar. nicht in Callbacks verfügbar.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
mit der angegebenen TCP-Verbindung und der zugehörigen Verschlüsselung und Schlüssel-ID synchronisieren.
Der Aufrufer muss nach Abschluss der Synchronisierung die Inhaberschaft der TCP-Verbindung übernehmen. Für die TCP-Verbindung wird kein Callback überschrieben, da ein neuer Weave Exchange erstellt wird und Callbacks, die auf diesem Kontext basieren, nur im inaktiven Zustand verfügbar sind. nicht in Callbacks verfügbar.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
TimeSyncNode
TimeSyncNode( void )
Geschützte Funktionen
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
interner Abbruch, wenn aCode nicht WEAVE_NO_ERROR ist
AutoSyncNow
void AutoSyncNow( void )
Interne Funktion zum Starten einer automatischen Synchronisierungssitzung
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 )
einen Rückruf zur Anwendungsschicht herbeizuführen.
Setze „aIsSuccessful“ auf „false“, um den Fehler-Callback auszulösen.
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
Slot zurückgeben, um Kontaktdaten zu speichern
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
nächsten gültigen und inaktiven Kontakt für die Unterhaltung abrufen
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
die Anzahl der gültigen Kontakte abrufen, aber wir haben noch nicht mit ihnen gesprochen.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
die Anzahl der "zuverlässigen" die bisher gesammelten Antworten.
aufgerufen, um zu ermitteln, ob wir eine ausreichende Anzahl von Antworten
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
alle lokalen Kontakte entwerten
InvalidateServiceContact
void InvalidateServiceContact( void )
den Kontakt zum Dienst ungültig machen
RegisterCommError
void RegisterCommError( Contact *const aContact )
Registrieren Sie Kommunikationsfehler bei einem bestimmten Kontakt und verkürzen Sie den Zeitraum für die automatische Erkennung, falls erforderlich kann einKontakt NULL sein, um anzuzeigen, dass wir niemanden zum Gespräch haben, und dadurch nur den Zeitraum für die automatische Erkennung verkürzen.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
Unicast-Synchronisierungsanfrage an einen Kontakt senden.
*rIsMessageSent gibt an, ob die Nachricht gesendet wurde. Kommunikationsfehler wie „address not Reachable“ (Adresse nicht erreichbar) werden nicht zurückgegeben. Der Anrufer muss daher sowohl den Rückgabecode als auch *rIsMessageSent prüfen.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
alle abgeschlossenen Kontakte wieder auf inaktiven Status zurücksetzen, ohne auf die Antwort zu tippen
Dies wird zwischen zwei Kommunikationsrunden mit demselben Knoten aufgerufen.
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
alle gültigen lokalen Kontakte auf inaktiv setzen und die Antwort löschen.
Dieser wird aufgerufen, bevor wir sie einzeln kontaktieren.
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
Neuen Weave Exchange für Unicast-Kommunikation erstellen
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
die Kontaktdaten eines Knotens speichern, der uns gerade eine Zeitänderungsbenachrichtigung gesendet hat
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
Antwort von einer Multicast-Anfrage verarbeiten
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
Eine Antwort verarbeiten, die von einer Unicast-Anfrage zurückgegeben wird
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
Initialisierung für die Rolle "Client".
Vorgesehen zur internen Verwendung von öffentlichen Funktionen der Init-Familie. Vor der Rückgabe muss mClientState festgelegt werden. nicht in Callbacks verfügbar
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
für die Serverrolle initialisiert werden.
Vorgesehen zur internen Verwendung von öffentlichen Funktionen der Init-Familie. Vor der Rückgabe muss mClientState festgelegt werden. nicht in Callbacks verfügbar
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
den Client anhalten, der in Callbacks nicht verfügbar ist.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
Stoppen des Koordinators, der in Callbacks nicht verfügbar ist.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
zum Beenden des Servers, der in Callbacks nicht verfügbar ist.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
Geschützte statische Funktionen
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 )
Rückruf von Weave Exchange bei Eingang einer zeitlichen Synchronisierungsanfrage
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 )
Callback des Weave-Timers, wenn die unzuverlässige Startbarriere übergeben wurde
IsOperationalState
bool IsOperationalState( ClientState aState )
Bestimmt, ob der angegebene Status betriebsbereit ist.
Praktische Methode, um festzustellen, ob ClientState den Betriebsstatus angibt, d.h. ob der Client die Initialisierung abgeschlossen hat und gerade nicht heruntergefahren wird.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
"true", wenn der Status nach Abschluss der Initialisierung und vor dem Start des Herunterfahrens fällt, andernfalls "false".
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )