нл:: Переплетение:: Профили:: Время:: SingleSourceTimeSyncClient

Краткое содержание

Публичные типы

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
перечисление
текущее состояние этого клиента синхронизации времени
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) определение типа
void(*
Обратный вызов после завершения обеих попыток синхронизации времени.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) определение типа
void(*
Обратный вызов, чтобы указать, что мы только что получили уведомление об изменении времени.

Защищенные типы

@324 перечисление

Публичные атрибуты

OnTimeChangeNotificationReceived

Защищенные атрибуты

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
используется для хранения времени полета в одну сторону.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
используется для хранения отметки времени при регистрации результата
mRemoteTimestamp_usec
timesync_t
используется для хранения системного времени удаленного узла, когда должно было быть отправлено ответное сообщение
mUnadjTimestampLastSent_usec
timesync_t

Общественные функции

Abort (void)
void
Прервать операцию синхронизации текущего времени.
GetClientState (void) const
Получить текущее состояние этого клиента.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Инициализируйте этот клиент.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Синхронизируется с использованием заданной привязки и выполняет обратный вызов с использованием предоставленного указателя.

Защищенные функции

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
Аннулировать зарегистрированную информацию для коррекции времени.
IsRegisteredResultValid (void)
bool
Проверьте, действительна ли зарегистрированная информация для коррекции времени.
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

Защищенные статические функции

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

Публичные типы

Состояние клиента

 ClientState

текущее состояние этого клиента синхронизации времени

Характеристики
kClientState_Idle

Инициализируется, ожидает уведомления об изменении времени, но фактической операции синхронизации времени не происходит.

kClientState_Sync_1

Работа над первой попыткой синхронизации.

kClientState_Sync_2

Работаем над второй попыткой синхронизации.

Обработчик синхронизации завершения

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

Обратный вызов после завершения обеих попыток синхронизации времени.

Если aErrorCode равен WEAVE_NO_ERROR, по крайней мере одна попытка была успешной. В противном случае оба сбоя в aErrorCode указывают на последний сбой.

Подробности
Параметры
[in] aApp
Указатель на данные уровня приложения, заданные в Init.
[in] aErrorCode
WEAVE_NO_ERROR , если хотя бы одна операция синхронизации времени прошла успешно
[in] aCorrectedSystemTime
Действует только в том случае, если aErrorCode имеет значение WEAVE_NO_ERROR .

Обработчик TimeChangeNotificationHandler

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

Обратный вызов, чтобы указать, что мы только что получили уведомление об изменении времени.

Установите значение NULL в Init . Если не установлено, уведомление об изменении времени будет игнорироваться. Уровню приложения разрешено вызывать Abort и Sync в этом обратном вызове.

Подробности
Параметры
[in] aApp
Указатель на данные уровня приложения, заданные в Init.
[in] aEC
Контекст обмена, используемый для этого входящего сообщения, который можно использовать для проверки его подлинности.

Защищенные типы

@324

 @324

Публичные атрибуты

OnTimeChangeNotificationReceived

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Защищенные атрибуты

мобильное приложение

void * mApp

мбиндинг

Binding * mBinding

мклиентстате

ClientState mClientState

мExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

используется для хранения времени полета в одну сторону.

mIsInCallback

bool mIsInCallback

mOnSyncCompleted

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

используется для хранения отметки времени при регистрации результата

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

используется для хранения системного времени удаленного узла, когда должно было быть отправлено ответное сообщение

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Общественные функции

Прервать

void Abort(
  void
)

Прервать операцию синхронизации текущего времени.

Привязка выпуска. Прервать активный обмен. Вернитесь в состояние ожидания.

Жетклиентстате

ClientState GetClientState(
  void
) const 

Получить текущее состояние этого клиента.

Подробности
Возврат
Текущее состояние

В этом

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

Инициализируйте этот клиент.

Должен быть вызван перед использованием других функций. Ноль/NULL инициализирует все внутренние данные и регистрирует их с помощью уведомления об изменении времени.

Подробности
Параметры
[in] aApp
Указатель на данные более высокого уровня, используемый в обратных вызовах на более высокий уровень.
[in] aExchangeMgr
Указатель на Exchange Manager, который будет использоваться при регистрации для обработчика сообщений об изменении времени.
Возврат
WEAVE_NO_ERROR в случае успеха

Синхронизировать

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Синхронизируется с использованием заданной привязки и выполняет обратный вызов с использованием предоставленного указателя.

Если выполняется операция синхронизации времени, она будет неявно прервана без выполнения обратного вызова. Недоступно в обратном вызове OnSyncCompleted, но разрешено в OnTimeChangeNotificationReceived. В случае ошибки Abort будет вызываться неявно перед возвратом из этой функции.

Подробности
Параметры
[in] aBinding
Привязка для использования при обращении к серверу времени
[in] OnSyncCompleted
Функция обратного вызова, которая будет использоваться после завершения операций синхронизации времени.
Возврат
WEAVE_NO_ERROR в случае успеха

Защищенные функции

EnterSync2

void EnterSync2(
  void
)

Финальная обработка

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

Инвалидатерегистредресулт

void InvalidateRegisteredResult(
  void
)

Аннулировать зарегистрированную информацию для коррекции времени.

Исрегистредресулдатвалид

bool IsRegisteredResultValid(
  void
)

Проверьте, действительна ли зарегистрированная информация для коррекции времени.

OnResponseTimeout

void OnResponseTimeout(
  void
)

OnSyncResponse

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
)

Отправитьсинкрекуест

WEAVE_ERROR SendSyncRequest(
  void
)

Сетклиентстате

void SetClientState(
  const ClientState state
)

_AbortWithCallback

void _AbortWithCallback(
  const WEAVE_ERROR aErrorCode
)

Защищенные статические функции

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
)