nl :: Tejido:: Perfiles: 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 respuesta del protocolo Weave Echo. De forma similar al protocolo de ping ICMP, el protocolo Weave Echo se puede utilizar para probar la vitalidad y la accesibilidad de un nodo Weave.
Las aplicaciones pueden usar la clase WeaveEchoServer para habilitar la respuesta automática a los mensajes entrantes de EchoRequest. Existe una clase correspondiente para iniciar solicitudes de eco (consulte WeaveEchoClient ).
De forma predeterminada, WeaveEchoServer responde inmediatamente 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 API
Durante el curso de su funcionamiento, el objeto WeaveEchoServer llamará a la aplicación para solicitar acciones específicas o enviar notificaciones de eventos importantes. Estas llamadas de eventos de API se realizan a la función de devolución de llamada configurada actualmente en el objeto de servidor. Excepto donde se indique, las aplicaciones son libres de alterar el estado del servidor durante una devolución de llamada de evento. Una excepción general es el método Shutdown () del objeto, que nunca se puede llamar durante una devolución de llamada.
Se definen los siguientes eventos de 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 solicitud.
Si la aplicación lo elige, puede alterar los argumentos de salida del evento para forzar un retraso en la respuesta o para suprimir la respuesta por completo. Además, puede alterar el contenido del búfer de carga útil, que se convertirá en la carga útil del mensaje de respuesta.
EchoResponseEnviado
Se envió un mensaje EchoResponse o no se pudo enviar. Los argumentos del evento contienen el error que resultó de enviar el mensaje (si lo hubiera) 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 { | enumeración |
Atributos públicos | |
---|---|
AppState | void * Un puntero a datos específicos de la aplicación. |
OnEchoRequestReceived | EchoFunct |
Funciones publicas | |
---|---|
GetEventCallback (void) const | EventCallback Devuelve un puntero a la función de devolución de llamada de eventos de API configurada actualmente en el objeto WeaveEchoServer . |
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState) | Inicialice un objeto WeaveEchoServer . |
Init ( WeaveExchangeManager *exchangeMgr) | Inicialice un objeto WeaveEchoServer . |
SetEventCallback (EventCallback eventCallback) | void Establece la función de devolución de llamada de eventos de API en el objeto WeaveEchoServer . |
Shutdown (void) | Apague un objeto WeaveEchoServer previamente inicializado. |
Funciones estáticas públicas | |
---|---|
DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam) | void Controlador predeterminado para eventos de la API WeaveEchoServer . |
Estructuras | |
---|---|
nl :: Weave :: Perfiles :: Echo_Next :: WeaveEchoServer :: InEventParam | Ingrese parámetros al evento de la API WeaveEchoServer . |
nl :: Weave :: Perfiles :: Echo_Next :: WeaveEchoServer :: OutEventParam | Parámetros de salida al 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)
Tipo de evento
EventType
Atributos públicos
AppState
void * AppState
Un puntero a datos específicos de la aplicación.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
Funciones publicas
GetEventCallback
EventCallback GetEventCallback( void ) const
Devuelve un puntero a la función de devolución de llamada de eventos de API configurada actualmente en el objeto WeaveEchoServer .
En eso
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Inicialice un objeto WeaveEchoServer .
Inicialice un objeto WeaveEchoServer para responder a los mensajes de eco de un par.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
En eso
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Inicialice un objeto WeaveEchoServer .
Inicialice un objeto WeaveEchoServer para responder a los mensajes de eco de un par.
ANULADO: Utilice Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) .
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Establece la función de devolución de llamada de eventos de API en el objeto WeaveEchoServer .
Cerrar
WEAVE_ERROR Shutdown( void )
Apague un objeto WeaveEchoServer previamente inicializado.
Tenga en cuenta que este método solo se puede llamar si se ha llamado previamente al método Init () .
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 API que no reconozcan o manejen. Los parámetros suministrados deben ser los mismos que los pasados por el objeto del servidor a la función del controlador de eventos de la aplicación.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|