En Google, luchamos por la equidad racial de la comunidad negra. Más información

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 WeaveServerBase
Las 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) 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 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
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 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
[in] exchangeMgr
Un puntero a la WeaveExchangeManager objeto.
[in] eventCallback
Un puntero a una función que será llamada por el WeaveEchoServer objeto de entregar sucesos de 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 ocurra un evento de API.

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
[in] exchangeMgr
Un puntero a la WeaveExchangeManager objeto.
[in] eventCallback
Un puntero a una función que será llamada por el WeaveEchoServer objeto de entregar sucesos de 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 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.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Constructor por defecto para WeaveEchoServer .

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