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 que responde del protocolo Echo de Weave. Al igual que el protocolo ping ICMP, el protocolo Echo de Weave puede usarse 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 los mensajes entrantes de EchoRequest. Existe una clase correspondiente para iniciar solicitudes de echo (consulta 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 de la API
Durante el transcurso de su operación, 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 tienen la libertad 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, al que nunca se 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 mediante el cual se recibió el mensaje y la metainformación sobre el mensaje de la solicitud.
Si la aplicación lo elige, puede alterar 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 del mensaje de respuesta.
EchoResponseSent
Se envió un mensaje de EchoResponse o no se pudo enviar. Los argumentos del evento contienen el error que se generó al enviar el mensaje (si corresponde) y el contexto de intercambio a través del cual se envió el mensaje.
Herencia
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 *
Un puntero para datos específicos de la aplicación.
|
OnEchoRequestReceived
|
EchoFunct
|
Funciones públicas |
|
---|---|
GetEventCallback(void) const
|
EventCallback
Muestra un puntero a la función de devolución de llamada del evento de la API configurada actualmente 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
Configura 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 los eventos de la API de WeaveEchoServer.
|
Structs |
|
---|---|
nl:: |
Los parámetros de entrada para el evento de la API de WeaveEchoServer. |
nl:: |
Muestra los parámetros para el evento de la API de 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 la correcta administración predeterminada de los eventos en la aplicación. |
kEvent_EchoRequestReceived
|
Se recibió un mensaje EchoRequest de un par. |
kEvent_EchoResponseSent
|
Se envió un mensaje de EchoResponse o no se pudo enviar. |
Atributos públicos
AppState
void * AppState
Un puntero para datos específicos de la aplicación.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
Funciones públicas
GetEventCallback
EventCallback GetEventCallback( void ) const
Muestra un puntero a la función de devolución de llamada del evento de la API configurada actualmente 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 mensajes de eco desde un par.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Inicializa un objeto WeaveEchoServer.
Inicializa un objeto WeaveEchoServer para responder a mensajes de eco desde un par.
OBSOLETO: Usa Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState).
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Configura 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 los eventos de la API de WeaveEchoServer.
Se requiere que las aplicaciones llamen a este método para cualquier evento de API que no reconozcan o no manejen. Los parámetros proporcionados deben ser los mismos que los que pasó el objeto de servidor a la función del controlador de eventos de la aplicación.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|