nl:: Weave:: Profiles:: Echo_Next:: WeaveEchoServer
#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>
Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.
Resumen
La clase WeaveEchoServer implementa el lado de la respuesta del protocolo Weave Echo. Al igual que el protocolo de ping ICMP, el protocolo Weave Echo se puede usar para probar el funcionamiento y la accesibilidad de un nodo de Weave.
Las aplicaciones pueden usar la clase WeaveEchoServer para habilitar la respuesta automática a mensajes entrantes de EchoRequest. Existe una clase correspondiente para iniciar solicitudes de eco (consulta WeaveEchoClient).
Según la configuración predeterminada, el WeaveEchoServer responde de inmediato a una EchoRequest con una respuesta que contiene la misma carga útil que la solicitud. Sin embargo, la aplicación puede modificar este comportamiento durante el procesamiento del evento de la API EchoRequestReceived.
Eventos de la API
Durante su funcionamiento, el objeto WeaveEchoServer llamará a la aplicación para solicitar acciones específicas o entregar notificaciones de eventos importantes. Estas llamadas de eventos de la API se realizan a la función de devolución de llamada configurada actualmente en el objeto del servidor. Excepto cuando se indique lo contrario, las aplicaciones pueden alterar el estado del servidor durante una devolución de llamada de evento. Una excepción general es el método Shutdown() del objeto, al que nunca se lo puede llamar durante una devolución de llamada.
Se definen los siguientes eventos de la API:
EchoRequestReceived
Se recibió un mensaje EchoRequest de un par. Los argumentos del evento contienen la carga útil de la solicitud, el contexto de intercambio sobre el que se recibió el mensaje y la metainformación sobre el mensaje de la solicitud.
Si la aplicación lo desea, puede modificar los argumentos de salida del evento para forzar un retraso en la respuesta o suprimir la respuesta por completo. Además, puede alterar el contenido del búfer de carga útil, que se convertirá en la carga útil para el mensaje de respuesta.
EchoResponseSent
Se envió un mensaje de EchoResponse, o bien no se pudo enviar. Los argumentos del evento contienen el error que se generó cuando se envió el mensaje (si existe) y el contexto de intercambio sobre el cual se envió el mensaje.
Herencia
Se hereda de: nl::Weave::WeaveServerBaseSubclases conocidas directas: nl::Weave::DeviceLayer::Internal::EchoServer
Constructores y destructores |
|
---|---|
WeaveEchoServer(void)
Constructor predeterminado para WeaveEchoServer.
|
Tipos públicos |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum |
Atributos públicos |
|
---|---|
AppState
|
void *
Es un puntero a datos específicos de la aplicación.
|
OnEchoRequestReceived
|
EchoFunct
|
Funciones públicas |
|
---|---|
GetEventCallback(void) const
|
EventCallback
Devuelve un puntero a la función de devolución de llamada de eventos de la API actualmente configurada en el objeto WeaveEchoServer.
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
Inicializa un objeto WeaveEchoServer.
|
Init(WeaveExchangeManager *exchangeMgr)
|
Inicializa un objeto WeaveEchoServer.
|
SetEventCallback(EventCallback eventCallback)
|
void
Establece la función de devolución de llamada del evento de la API en el objeto WeaveEchoServer.
|
Shutdown(void)
|
Cierra un objeto WeaveEchoServer inicializado con anterioridad.
|
Funciones estáticas públicas |
|
---|---|
DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
|
void
Controlador predeterminado para eventos de la API WeaveEchoServer.
|
Structs |
|
---|---|
nl:: |
Parámetros de entrada para el evento de la API WeaveEchoServer. |
nl:: |
Parámetros de resultado para el evento de la API WeaveEchoServer. |
Tipos públicos
EchoFunct
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
EventType
EventType
Propiedades | |
---|---|
kEvent_DefaultCheck
|
Se usa para verificar el manejo correcto de eventos predeterminados en la aplicación. |
kEvent_EchoRequestReceived
|
Se recibió un mensaje EchoRequest de un par. |
kEvent_EchoResponseSent
|
Se envió un mensaje de EchoResponse, o bien no se pudo enviar. |
Atributos públicos
AppState
void * AppState
Es un puntero a datos específicos de la aplicación.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
Funciones públicas
GetEventCallback
EventCallback GetEventCallback( void ) const
Devuelve un puntero a la función de devolución de llamada de eventos de la API actualmente configurada en el objeto WeaveEchoServer.
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Inicializa un objeto WeaveEchoServer.
Inicializa un objeto WeaveEchoServer para responder a los mensajes de eco de un par.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Inicializa un objeto WeaveEchoServer.
Inicializa un objeto WeaveEchoServer para responder a los mensajes de eco de un par.
OBSOLETO: Usa Init(WeaveExchangeManager * intercambioMgr, EventCallback eventCallback, void * appState).
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Establece la función de devolución de llamada del evento de la API en el objeto WeaveEchoServer.
Cierre
WEAVE_ERROR Shutdown( void )
Cierra un objeto WeaveEchoServer inicializado con anterioridad.
Ten en cuenta que solo se puede llamar a este método si se llamó al método Init() anteriormente.
Funciones estáticas públicas
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
Controlador predeterminado para eventos de la API WeaveEchoServer.
Las aplicaciones deben llamar a este método para cualquier evento de la API que no reconozcan o no controlen. Los parámetros proporcionados deben ser los mismos que los que pasa el objeto del servidor a la función del controlador de eventos de la aplicación.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|