nl:: Weave:: System:: Platform:: Layer
Resumen
remotas |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Este es un hook posterior a la inicialización de Weave de la capa del sistema de Weave específico de la plataforma.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Este es un hook previo al cierre de la capa del sistema de Weave específico de la plataforma.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Este es un gancho de envío de mensajes o evento específico de la plataforma.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Este es un gancho de envío de mensajes o evento específico de la plataforma.
|
GetClock_Monotonic(void)
|
uint64_t
Es una función específica de la plataforma para obtener un tiempo del sistema monótono en microsegundos.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Función específica de la plataforma para obtener un tiempo del sistema monótono de alta resolución en microsegundos.
|
GetClock_MonotonicMS(void)
|
uint64_t
Es una función específica de la plataforma para obtener un tiempo del sistema monótono en milisegundos.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Función específica de la plataforma para obtener la hora real actual (civil) en formato de tiempo Unix de microsegundos.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Función específica de la plataforma para obtener la hora real actual (civil) en formato de hora Unix en milisegundos.
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
Este es un hook de publicación de mensaje o evento específico de la plataforma.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
Función específica de la plataforma para configurar la hora real (civil) actual.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Este es un gancho de envío de mensajes o evento específico de la plataforma.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Este es un hook de inicialización previa de la capa del sistema de Weave específico de la plataforma.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Este es un hook previo al cierre de la capa del sistema de Weave específico de la plataforma.
|
remotas
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Este es un hook posterior a la inicialización de Weave de la capa del sistema de Weave específico de la plataforma.
Esto se puede anular asignando la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Este es un hook previo al cierre de la capa del sistema de Weave específico de la plataforma.
Esto se puede anular asignando la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
WEAVE_SYSTEM_NO_ERROR cuando se realiza de forma correcta; de lo contrario, un error específico que indica el motivo del error de apagado. Se anulará el cierre si se muestra el estado de error.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Este es un gancho de envío de mensajes o evento específico de la plataforma.
Esto se puede anular si asignas la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Esto envía el evento especificado para su manejo, desordenando el tipo y los argumentos del evento para su entrega a Layer::HandleEvent del sistema de Weave para el envío real.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Este es un gancho de envío de mensajes o evento específico de la plataforma.
Esto se puede anular si asignas la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Esto afecta a un bucle de eventos, que espera una cola que presta servicio a esta instancia, extrae eventos de esa cola y, luego, los envía para su control.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Es una función específica de la plataforma para obtener un tiempo del sistema monótono en microsegundos.
Se espera que esta función muestre el tiempo transcurrido en microsegundos desde un ciclo de entrenamiento arbitrario definido por la plataforma. Las implementaciones de la plataforma están obligadas a mostrar un valor que aumenta (es decir, nunca ajusta) entre los reinicios del sistema. Además, la fuente de tiempo subyacente debe marcarse de forma continua durante los modos de suspensión del sistema que no implican un reinicio después de la activación.
No es necesario que el ciclo de entrenamiento para el tiempo que muestra esta función sea el mismo que el de ninguna de las otras funciones de GetClock..., incluido GetClock_MonotonicMS().
Se espera que esta función sea segura para los subprocesos en cualquier plataforma que utilice subprocesos.
Detalles | |
---|---|
Qué muestra |
Tiempo transcurrido en microsegundos desde un ciclo de entrenamiento arbitrario definido por la plataforma.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
Función específica de la plataforma para obtener un tiempo del sistema monótono de alta resolución en microsegundos.
Se espera que esta función muestre el tiempo transcurrido en microsegundos desde un ciclo de entrenamiento arbitrario definido por la plataforma. Los valores que muestra GetClock_MonotonicHiRes() deben ser siempre crecientes (es decir, nunca ajustar). Sin embargo, no es necesario que el temporizador subyacente funcione para funcionar de forma continua durante los estados de suspensión profunda del sistema.
Se recomienda que la plataforma implemente GetClock_MonotonicHiRes() con un temporizador de alta resolución que no esté sujeto a ajustes graduales del reloj (desplazamiento). En plataformas sin ese temporizador, GetClock_MonotonicHiRes() puede mostrar el mismo valor que GetClock_Monotonic().
No es necesario que el ciclo de entrenamiento para el tiempo que muestra esta función sea el mismo que el de ninguna de las otras funciones de GetClock....
Se espera que esta función sea segura para los subprocesos en cualquier plataforma que utilice subprocesos.
Detalles | |
---|---|
Qué muestra |
Tiempo transcurrido en microsegundos desde un ciclo de entrenamiento arbitrario definido por la plataforma.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
Es una función específica de la plataforma para obtener un tiempo del sistema monótono en milisegundos.
Se espera que esta función muestre el tiempo transcurrido en milisegundos desde un ciclo de entrenamiento arbitrario definido por la plataforma. Las implementaciones de la plataforma están obligadas a mostrar un valor que aumenta (es decir, nunca ajusta) entre los reinicios del sistema. Además, la fuente de tiempo subyacente debe marcarse de forma continua durante los modos de suspensión del sistema que no implican un reinicio después de la activación.
No es necesario que el ciclo de entrenamiento para el tiempo que muestra esta función sea el mismo que el de ninguna de las otras funciones de GetClock..., incluida GetClock_Monotonic().
Se espera que esta función sea segura para los subprocesos en cualquier plataforma que utilice subprocesos.
Detalles | |
---|---|
Qué muestra |
Tiempo transcurrido en milisegundos desde un ciclo de entrenamiento arbitrario definido por la plataforma.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Función específica de la plataforma para obtener la hora real actual (civil) en formato de tiempo Unix de microsegundos.
Se espera que esta función muestre la noción de la plataforma local del tiempo real actual, expresada como un valor de tiempo Unix ajustado a microsegundos. El reloj subyacente debe marcarse a una velocidad de, al menos, en segundos enteros (valores de 1,000,000), pero puede marcarse más rápido.
En aquellas plataformas que pueden realizar el seguimiento en tiempo real, GetClock_RealTime() debe mostrar el error WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED siempre que el sistema no esté sincronizado con tiempo real.
Las plataformas que no pueden realizar el seguimiento en tiempo real no deben implementar la función GetClock_RealTime(), lo cual fuerza la falla de las funciones que dependen del acceso en tiempo real durante el vínculo. De manera alternativa, dichas plataformas pueden proporcionar una implementación de GetClock_RealTime() que muestra el error WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.
Se espera que esta función sea segura para los subprocesos en cualquier plataforma que utilice subprocesos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Función específica de la plataforma para obtener la hora real actual (civil) en formato de hora Unix en milisegundos.
Se espera que esta función muestre la noción de la plataforma local del tiempo real actual, expresada como un valor de tiempo Unix ajustado a milisegundos.
Consulta la documentación de GetClock_RealTime() para obtener detalles sobre el comportamiento esperado.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
Este es un hook de publicación de mensaje o evento específico de la plataforma.
Esto se puede anular si asignas la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Esto publica un evento o mensaje del tipo especificado con el argumento proporcionado en la cola de mensajes o eventos específicos de la plataforma de esta instancia.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Qué muestra |
WEAVE_SYSTEM_NO_ERROR cuando se realiza de forma correcta; de lo contrario, un error específico que indica el motivo del error de inicialización.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Función específica de la plataforma para configurar la hora real (civil) actual.
Weave llama a esta función para establecer la noción de la plataforma local del tiempo real actual. La nueva hora actual se expresa como un valor de tiempo de Unix ajustado a microsegundos.
Una vez establecido, se espera que el reloj de la plataforma subyacente realice un seguimiento en tiempo real con un nivel de detalle de al menos segundos enteros.
En las plataformas que admiten el seguimiento en tiempo real, la función SetClock_RealTime() debe mostrar el error WEAVE_SYSTEM_ERROR_ACCESS_DENIED si la aplicación que realiza la llamada no tiene el privilegio para establecer la hora actual.
Las plataformas que no pueden realizar el seguimiento en tiempo real, o que no ofrecen la posibilidad de establecer el tiempo real, no deben implementar la función SetClock_RealTime(), con lo cual se fuerzan las fallas de tiempo de vinculación de las funciones que dependen de la configuración en tiempo real. Como alternativa, estas plataformas pueden proporcionar una implementación de SetClock_RealTime() que muestra el error WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.
Se espera que esta función sea segura para los subprocesos en cualquier plataforma que utilice subprocesos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Este es un gancho de envío de mensajes o evento específico de la plataforma.
Esto se puede anular si asignas la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Este es un hook de inicialización previa de la capa del sistema de Weave específico de la plataforma.
Esto se puede anular asignando la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
WEAVE_SYSTEM_NO_ERROR cuando se realiza de forma correcta; de lo contrario, un error específico que indica el motivo del error de inicialización. Si se muestra el estado de error, se anulará la inicialización.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Este es un hook previo al cierre de la capa del sistema de Weave específico de la plataforma.
Esto se puede anular asignando la definición del preprocesador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
WEAVE_SYSTEM_NO_ERROR cuando se realiza de forma correcta; de lo contrario, un error específico que indica el motivo del error de apagado. Se anulará el cierre si se muestra el estado de error.
|