En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

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 :: 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
}
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
Propiedades
kEvent_DefaultCheck

Se utiliza para verificar el correcto manejo de eventos predeterminado en la aplicación.

kEvent_EchoRequestReceived

Se recibió un mensaje EchoRequest de un par.

kEvent_EchoResponseSent

Se envió un mensaje EchoResponse o no se pudo enviar.

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

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

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 () .

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 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
[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 pasado por 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