nl::Weave::Profiles::Time::SingleSourceTimeSyncClient

Podsumowanie

Typy publiczne

ClientState{
  kClientState_Idle,
  kClientState_Sync_1,
  kClientState_Sync_2
}
enum | typ wyliczeniowy
bieżący stan tego klienta synchronizacji czasu
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
Oddzwonienie po ukończeniu obu prób synchronizacji czasu.
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC) typedef
void(*
Oddzwoń, aby poinformować, że właśnie otrzymaliśmy powiadomienie o zmianie godziny.

Typy chronione

@324 enum | typ wyliczeniowy

Atrybuty publiczne

OnTimeChangeNotificationReceived

Atrybuty chronione

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
służy do przechowywania czasu lotu w jedną stronę.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
służy do zapisywania sygnatury czasowej zarejestrowania wyniku
mRemoteTimestamp_usec
timesync_t
używana do przechowywania czasu systemowego węzła zdalnego, gdy wiadomość z odpowiedzią miała zostać wysłana
mUnadjTimestampLastSent_usec
timesync_t

Funkcje publiczne

Abort(void)
void
Przerwij bieżącą operację synchronizacji czasu.
GetClientState(void) const
Pobierz bieżący stan tego klienta.
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Zainicjuj tego klienta.
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Przeprowadź synchronizację, używając podanego wskaźnika Binding, i wykonuje wywołanie zwrotne, używając podanego wskaźnika.

Funkcje chronione

EnterSync2(void)
void
FinalProcessing(void)
void
GetClientStateName(void) const
const char *
InvalidateRegisteredResult(void)
void
Unieważnij zarejestrowane informacje na potrzeby korekty czasu.
IsRegisteredResultValid(void)
bool
Sprawdź, czy zarejestrowane informacje dotyczące korekty czasu są prawidłowe.
OnResponseTimeout(void)
void
OnSyncResponse(uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void
ProceedToNextState(void)
void
RegisterSyncResultIfNewOrBetter(const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
void
SendSyncRequest(void)
SetClientState(const ClientState state)
void
_AbortWithCallback(const WEAVE_ERROR aErrorCode)
void

Chronione funkcje statyczne

HandleResponseTimeout(ExchangeContext *aEC)
void
HandleSyncResponse(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void
HandleTimeChangeNotification(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void

Typy publiczne

ClientState

 ClientState

bieżący stan tego klienta synchronizacji czasu

Właściwości
kClientState_Idle

Zainicjowano, oczekiwanie na powiadomienie o zmianie czasu, ale nie jest wykonywane żadne działanie synchronizacji w czasie rzeczywistym.

kClientState_Sync_1

Trwa próba pierwszej próby synchronizacji.

kClientState_Sync_2

Trwa druga próba synchronizacji.

SyncCompletionHandler

void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)

Oddzwonienie po ukończeniu obu prób synchronizacji czasu.

Jeśli kod błędu ma wartość WEAVE_NO_ERROR, co najmniej jedna próba zakończyła się powodzeniem. W przeciwnym razie oba komunikaty o błędzie aErrorCode wskazują na ostatni błąd.

Szczegóły
Parametry
[in] aApp
Wskaźnik do danych warstwy aplikacji ustawiony w Init.
[in] aErrorCode
WEAVE_NO_ERROR, jeśli co najmniej jedna operacja synchronizacji zakończy się powodzeniem
[in] aCorrectedSystemTime
Ma zastosowanie tylko wtedy, gdy kod błędu to WEAVE_NO_ERROR.

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)

Oddzwoń, aby poinformować, że właśnie otrzymaliśmy powiadomienie o zmianie godziny.

Ustaw na wartość NULL w Init. Jeśli zasada nie jest skonfigurowana, powiadomienie o zmianie godziny jest ignorowane. Warstwa aplikacji może wywoływać przerwanie i synchronizację w tym wywołaniu zwrotnym.

Szczegóły
Parametry
[in] aApp
Wskaźnik do danych warstwy aplikacji ustawiony w Init.
[in] aEC
Kontekst wymiany używany dla tej wiadomości przychodzącej, który można wykorzystać do potwierdzenia jej autentyczności

Typy chronione

@324

 @324

Atrybuty publiczne

OnTimeChangeNotificationReceived

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Atrybuty chronione

mApp

void * mApp

mBinding

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

służy do przechowywania czasu lotu w jedną stronę.

mIsInCallback

bool mIsInCallback

mOnSyncCompleted

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

służy do zapisywania sygnatury czasowej zarejestrowania wyniku

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

używana do przechowywania czasu systemowego węzła zdalnego, gdy wiadomość z odpowiedzią miała zostać wysłana

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Funkcje publiczne

Przerwij

void Abort(
  void
)

Przerwij bieżącą operację synchronizacji czasu.

Zwolnij Binding (Wiązanie). Przerwij aktywną wymianę. Wróć do stanu bezczynności.

GetClientState

ClientState GetClientState(
  void
) const 

Pobierz bieżący stan tego klienta.

Szczegóły
Zwroty
bieżący stan

Zainicjuj

WEAVE_ERROR Init(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr
)

Zainicjuj tego klienta.

Musi zostać wywołana, aby można było użyć innych funkcji. Zero/NULL inicjuje wszystkie dane wewnętrzne i rejestruje za pomocą powiadomienia o zmianie czasu.

Szczegóły
Parametry
[in] aApp
Wskaźnik do danych z wyższej warstwy, używany w wywołaniach zwrotnych do wyższej warstwy.
[in] aExchangeMgr
Wskaźnik do menedżera Exchange, który będzie używany przy rejestracji modułu obsługi wiadomości z powiadomieniem o zmianie czasu
Zwroty
Powodzenie: WEAVE_NO_ERROR

Synchronizuj

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Przeprowadź synchronizację, używając podanego wskaźnika Binding, i wykonuje wywołanie zwrotne, używając podanego wskaźnika.

Jeśli wykonywana jest operacja synchronizacji czasu, zostanie ona przerwana domyślnie bez wywołania zwrotnego. Niedostępne w wywołaniu zwrotnym OnSyncCompleted, ale dozwolone w funkcji OnTimeChangenotificationReceived . W przypadku błędu parametr Abort zostanie wywołany domyślnie przed wywołaniem funkcji z tej funkcji.

Szczegóły
Parametry
[in] aBinding
Wiązanie, które ma być używane do łączenia się z serwerem czasu
[in] OnSyncCompleted
Funkcja wywołania zwrotnego, która ma być używana po zakończeniu operacji synchronizacji czasu
Zwroty
Powodzenie: WEAVE_NO_ERROR

Funkcje chronione

EnterSync2

void EnterSync2(
  void
)

FinalProcessing

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

InvalidateRegisteredResult

void InvalidateRegisteredResult(
  void
)

Unieważnij zarejestrowane informacje na potrzeby korekty czasu.

IsRegisteredResultValid

bool IsRegisteredResultValid(
  void
)

Sprawdź, czy zarejestrowane informacje dotyczące korekty czasu są prawidłowe.

OnResponseTimeout

void OnResponseTimeout(
  void
)

OnSyncResponse

void OnSyncResponse(
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

ProceedToNextState

void ProceedToNextState(
  void
)

RegisterSyncResultIfNewOrBetter

void RegisterSyncResultIfNewOrBetter(
  const timesync_t aNow_usec,
  const timesync_t aRemoteTimestamp_usec,
  const int32_t aFlightTime_usec
)

SendSyncRequest

WEAVE_ERROR SendSyncRequest(
  void
)

SetClientState

void SetClientState(
  const ClientState state
)

_Przerwij za pomocą połączenia zwrotnego

void _AbortWithCallback(
  const WEAVE_ERROR aErrorCode
)

Chronione funkcje statyczne

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *aEC
)

HandleSyncResponse

void HandleSyncResponse(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

HandleTimeChangeNotification

void HandleTimeChangeNotification(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)