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::WeaveServerBase
Subclases 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) typedef
void(*
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType{
  kEvent_EchoRequestReceived = 1,
  kEvent_EchoResponseSent = 2,
  kEvent_DefaultCheck = 100
}
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::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

Parámetros de entrada para el evento de la API WeaveEchoServer.

nl::Weave::Profiles::Echo_Next::WeaveEchoServer::OutEventParam

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
[in] exchangeMgr
Un puntero al objeto WeaveExchangeManager.
[in] eventCallback
Un puntero para una función a la que el objeto WeaveEchoServer llamará para entregar eventos de la API a la aplicación.
[in] appState
Un puntero a un objeto definido por la aplicación que se pasará de vuelta a la aplicación cada vez que ocurra un evento de API.

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
[in] exchangeMgr
Un puntero al objeto WeaveExchangeManager.
[in] eventCallback
Un puntero para una función a la que el objeto WeaveEchoServer llamará para entregar eventos de la API a la aplicación.
[in] appState
Un puntero a un objeto definido por la aplicación que se pasará de vuelta a la aplicación cada vez que ocurra un evento de API.

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.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Constructor predeterminado para WeaveEchoServer.

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
[in] appState
Un puntero a la información de estado definida por la aplicación asociada con el objeto de servidor.
[in] eventType
ID del evento que pasa la devolución de llamada del evento
[in] inParam
Referencia de los parámetros del evento de entrada pasados por la devolución de llamada del evento
[in] outParam
Referencia de los parámetros del evento de salida pasados por la devolución de llamada del evento