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
Los WeaveEchoServer clase implementa el lado respondedor del protocolo de la armadura de eco. 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 utilizar la WeaveEchoServer clase para permitir una respuesta automática a los mensajes entrantes EchoRequest. Existe una clase correspondiente para iniciar peticiones de eco (véase WeaveEchoClient ).
Por defecto, el WeaveEchoServer responde inmediatamente a un EchoRequest con la respuesta que contiene la misma carga útil como 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, la WeaveEchoServer objeto llamará a la aplicación de acciones específicas de solicitud o entregar las 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 del objeto de apagado () método, que nunca puede ser llamado 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
Hereda de: nl :: :: Armadura WeaveServerBaseLas subclases dirigir conocidos: nl :: :: Armadura DeviceLayer :: :: interna echoserver
Constructores y Destructores | |
---|---|
WeaveEchoServer (void) Constructor por defecto 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 API evento configurado actualmente en el WeaveEchoServer objeto. |
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState) | Inicialice un WeaveEchoServer objeto. |
Init ( WeaveExchangeManager *exchangeMgr) | Inicialice un WeaveEchoServer objeto. |
SetEventCallback (EventCallback eventCallback) | void Establece la función de devolución de llamada API en el caso WeaveEchoServer objeto. |
Shutdown (void) | Shutdown una previamente inicializado WeaveEchoServer objeto. |
Funciones estáticas públicas | |
---|---|
DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam) | void Controlador predeterminado para WeaveEchoServer sucesos de API. |
Estructuras | |
---|---|
nl :: Armadura :: Perfiles :: Echo_Next :: :: WeaveEchoServer InEventParam | Los parámetros de entrada a WeaveEchoServer suceso de la API. |
nl :: Armadura :: Perfiles :: Echo_Next :: :: WeaveEchoServer OutEventParam | Los parámetros de salida a WeaveEchoServer suceso de la API. |
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 API evento configurado actualmente en el WeaveEchoServer objeto.
En eso
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Inicialice un WeaveEchoServer objeto.
Inicializar un WeaveEchoServer objeto de responder a los mensajes de eco de un compañero.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
En eso
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Inicialice un WeaveEchoServer objeto.
Inicializar un WeaveEchoServer objeto de responder a los mensajes de eco de un compañero.
DESAPROBADO: 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 API en el caso WeaveEchoServer objeto.
Cerrar
WEAVE_ERROR Shutdown( void )
Shutdown una previamente inicializado WeaveEchoServer objeto.
Tenga en cuenta que este método sólo se puede llamar si el Init () método ha sido llamado con anterioridad.
Funciones estáticas públicas
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
Controlador predeterminado para WeaveEchoServer sucesos de API.
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 de controlador de eventos de la aplicación.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|