En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: Perfiles: Hora:: SingleSourceTimeSyncClient

Resumen

Tipos públicos

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
enumeración
estado actual de este Time Sync Client
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
Devolución de llamada después de que se hayan completado ambos intentos de sincronización de tiempo.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
Devolución de llamada para indicar que acabamos de recibir una notificación de cambio de hora.

Tipos protegidos

@324 enumeración

Atributos públicos

OnTimeChangeNotificationReceived

Atributos protegidos

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
utilizado para almacenar el tiempo de vuelo de ida.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
se utiliza para almacenar la marca de tiempo cuando se registra un resultado
mRemoteTimestamp_usec
timesync_t
utilizado para almacenar la hora del sistema del nodo remoto, cuando el mensaje de respuesta estaba a punto de ser enviado
mUnadjTimestampLastSent_usec
timesync_t

Funciones publicas

Abort (void)
void
Abortar la operación de sincronización de la hora actual.
GetClientState (void) const
Recupere el estado actual de este cliente.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Inicialice este cliente.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Sincroniza usando el enlace dado y realiza una devolución de llamada usando el puntero proporcionado.

Funciones protegidas

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
Invalide la información registrada para la corrección de tiempo.
IsRegisteredResultValid (void)
bool
Compruebe si la información registrada para la corrección de tiempo es válida.
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

Funciones estáticas protegidas

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

Tipos públicos

Estado del cliente

 ClientState

estado actual de este Time Sync Client

Propiedades
kClientState_Idle

Inicializado, esperando la notificación de cambio de hora, pero no se está realizando ninguna operación de sincronización de hora real.

kClientState_Sync_1

Trabajando en el primer intento de sincronización.

kClientState_Sync_2

Trabajando en el segundo intento de sincronización.

SyncCompletionHandler

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

Devolución de llamada después de que se hayan completado ambos intentos de sincronización de tiempo.

Si unErrorCode es WEAVE_NO_ERROR, al menos un intento ha tenido éxito. De lo contrario, ambos fallaron en aErrorCode indica el último error.

Detalles
Parámetros
[in] aApp
Un puntero a los datos de la capa de la aplicación, establecido en Init.
[in] aErrorCode
WEAVE_NO_ERROR si al menos una operación de sincronización de tiempo es exitosa
[in] aCorrectedSystemTime
Solo válido si aErrorCode es WEAVE_NO_ERROR

TimeChangeNotificationHandler

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

Devolución de llamada para indicar que acabamos de recibir una notificación de cambio de hora.

Establecer en NULL en Init . Si no se establece, se ignorará la Notificación de cambio de hora. La capa de la aplicación puede llamar a Abort and Sync en esta devolución de llamada.

Detalles
Parámetros
[in] aApp
Un puntero a los datos de la capa de la aplicación, establecido en Init.
[in] aEC
Contexto de intercambio utilizado para este mensaje entrante, que se puede utilizar para validar su autenticidad

Tipos protegidos

@ 324

 @324

Atributos públicos

OnTimeChangeNotificationReceived

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Atributos protegidos

mApp

void * mApp

mBinding

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

utilizado para almacenar el tiempo de vuelo de ida.

mIsInCallback

bool mIsInCallback

mOnSyncCompleted

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

utilizado para almacenar la marca de tiempo cuando se registra un resultado

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

utilizado para almacenar la hora del sistema del nodo remoto, cuando el mensaje de respuesta estaba a punto de ser enviado

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Funciones publicas

Abortar

void Abort(
  void
)

Abortar la operación de sincronización de la hora actual.

Release Binding . Abortar el intercambio activo. Vuelve al estado inactivo.

GetClientState

ClientState GetClientState(
  void
) const 

Recupere el estado actual de este cliente.

Detalles
Devoluciones
estado actual

En eso

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

Inicialice este cliente.

Debe llamarse antes de poder utilizar otras funciones. Cero / NULL inicializa todos los datos internos y registra con Notificación de cambio de hora.

Detalles
Parámetros
[in] aApp
Un puntero a los datos de la capa superior, que se utiliza en devoluciones de llamada a la capa superior.
[in] aExchangeMgr
Un puntero al Administrador de Exchange, que se usaría para registrarse en el controlador de mensajes de Notificación de cambio de hora
Devoluciones
WEAVE_NO_ERROR en caso de éxito

Sincronizar

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Sincroniza usando el enlace dado y realiza una devolución de llamada usando el puntero provisto.

Si hay una operación de sincronización de tiempo en curso, se cancelará implícitamente sin que se realice una devolución de llamada. No disponible en la devolución de llamada OnSyncCompleted, pero se permite en OnTimeChangeNotificationReceived. En caso de error, Abort se llamaría implícitamente antes de regresar de esta función.

Detalles
Parámetros
[in] aBinding
Enlace que se utilizará para ponerse en contacto con el servidor de tiempo
[in] OnSyncCompleted
Función de devolución de llamada que se utilizará después de que se completen las operaciones de sincronización de tiempo
Devoluciones
WEAVE_NO_ERROR en caso de éxito

Funciones protegidas

EnterSync2

void EnterSync2(
  void
)

Procesamiento final

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

InvalidateRegisteredResult

void InvalidateRegisteredResult(
  void
)

Invalide la información registrada para la corrección de tiempo.

IsRegisteredResultValid

bool IsRegisteredResultValid(
  void
)

Compruebe si la información registrada para la corrección de tiempo es válida.

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
)

_AbortWithCallback

void _AbortWithCallback(
  const WEAVE_ERROR aErrorCode
)

Funciones estáticas protegidas

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
)