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::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 *
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::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

Los parámetros de entrada para el evento de la API de WeaveEchoServer.

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

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

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

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.

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