Google is committed to advancing racial equity for Black communities. See how.

nl :: Tecer:: Perfis :: Echo_Next :: WeaveEchoServer

#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>

Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.

Resumo

Os WeaveEchoServer classe implementa o lado respondedor do protocolo tecer eco. Semelhante ao protocolo de ping ICMP, o protocolo Weave Echo pode ser usado para testar a vivacidade e acessibilidade de um nó Weave.

Os aplicativos podem usar o WeaveEchoServer classe para permitir uma resposta automática para mensagens EchoRequest recebidas. Existe uma classe correspondente para iniciar solicitações de eco (ver WeaveEchoClient ).

Por padrão, o WeaveEchoServer responde imediatamente a um EchoRequest com resposta contendo a mesma carga que a solicitação. No entanto, esse comportamento pode ser alterado pelo aplicativo durante o processamento do evento da API EchoRequestReceived.

Eventos API

Durante o curso de sua operação, o WeaveEchoServer objeto irá chamar-se à aplicação de medidas específicas de solicitação ou entregar notificações de eventos importantes. Essas chamadas de eventos de API são feitas para a função de retorno de chamada atualmente configurada no objeto do servidor. Exceto onde indicado, os aplicativos são livres para alterar o estado do servidor durante um retorno de chamada de evento. Uma excepção é o total do objecto de desligamento () método, que nunca pode ser chamada durante uma chamada de retorno.

Os seguintes eventos de API são definidos:

EchoRequestReceived

Uma mensagem EchoRequest foi recebida de um par. Os argumentos para o evento contêm a carga útil do pedido, o contexto de troca sobre o qual a mensagem foi recebida e meta-informações sobre a mensagem do pedido.

Se o aplicativo escolher, ele pode alterar os argumentos de saída para o evento para forçar um atraso na resposta ou suprimir a resposta por completo. Além disso, pode alterar o conteúdo do buffer de carga útil, que se tornará a carga útil para a mensagem de resposta.

EchoResponseSent

Uma mensagem EchoResponse foi enviada ou não foi enviada. Os argumentos para o evento contêm o erro que resultou do envio da mensagem (se houver) e o contexto de troca sobre o qual a mensagem foi enviada.

Herança

Herda: nl :: Weave :: WeaveServerBase
Dirigir Subclasses conhecidas: nl :: Weave :: DeviceLayer :: Interno :: EchoServer

Construtores e Destruidores

WeaveEchoServer (void)
Construtor padrão 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 *
Um ponteiro para dados específicos do aplicativo.
OnEchoRequestReceived
EchoFunct

Funções públicas

GetEventCallback (void) const
EventCallback
Retorna um ponteiro para a função de evento de retorno de chamada API atualmente configurado no WeaveEchoServer objeto.
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Inicializar um WeaveEchoServer objeto.
Init ( WeaveExchangeManager *exchangeMgr)
Inicializar um WeaveEchoServer objeto.
SetEventCallback (EventCallback eventCallback)
void
Define a função de retorno de eventos API na WeaveEchoServer objeto.
Shutdown (void)
Desligamento anteriormente inicializado um WeaveEchoServer objecto.

Funções estáticas públicas

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Manipulador padrão para WeaveEchoServer eventos API.

Structs

nl :: Weave :: Profiles :: Echo_Next :: WeaveEchoServer :: InEventParam

Parâmetros de entrada para WeaveEchoServer evento API.

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

Parâmetros de saída para WeaveEchoServer evento 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
Propriedades
kEvent_DefaultCheck

Usado para verificar o tratamento de eventos padrão correto no aplicativo.

kEvent_EchoRequestReceived

Uma mensagem EchoRequest foi recebida de um par.

kEvent_EchoResponseSent

Uma mensagem EchoResponse foi enviada ou não foi enviada.

Atributos públicos

AppState

void * AppState

Um ponteiro para dados específicos do aplicativo.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Funções públicas

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Retorna um ponteiro para a função de evento de retorno de chamada API atualmente configurado no WeaveEchoServer objeto.

Iniciar

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

Inicializar um WeaveEchoServer objeto.

Inicializar um WeaveEchoServer objeto para responder a eco mensagens de um par.

Detalhes
Parâmetros
[in] exchangeMgr
Um apontador para a WeaveExchangeManager objecto.
[in] eventCallback
Um ponteiro para uma função que será chamado pelo WeaveEchoServer objeto para entregar eventos da API para o aplicativo.
[in] appState
Um ponteiro para um objeto definido pelo aplicativo que será passado de volta ao aplicativo sempre que ocorrer um evento de API.

Iniciar

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Inicializar um WeaveEchoServer objeto.

Inicializar um WeaveEchoServer objeto para responder a eco mensagens de um par.

DEPRECADO: Utilize Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * AppState) .

Detalhes
Parâmetros
[in] exchangeMgr
Um apontador para a WeaveExchangeManager objecto.
[in] eventCallback
Um ponteiro para uma função que será chamado pelo WeaveEchoServer objeto para entregar eventos da API para o aplicativo.
[in] appState
Um ponteiro para um objeto definido pelo aplicativo que será passado de volta ao aplicativo sempre que ocorrer um evento de API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Define a função de retorno de eventos API na WeaveEchoServer objeto.

Desligar

WEAVE_ERROR Shutdown(
  void
)

Desligamento anteriormente inicializado um WeaveEchoServer objecto.

Note que este método só pode ser chamado se o Init () método tem sido chamado anteriormente.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Construtor padrão para WeaveEchoServer .

Funções estáticas públicas

DefaultEventHandler

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

Manipulador padrão para WeaveEchoServer eventos API.

Os aplicativos são obrigados a chamar esse método para quaisquer eventos de API que eles não reconhecem ou manipulam. Os parâmetros fornecidos devem ser iguais aos passados ​​pelo objeto do servidor para a função de tratamento de eventos do aplicativo.

Detalhes
Parâmetros
[in] appState
Um ponteiro para informações de estado definidas pelo aplicativo associadas ao objeto de servidor.
[in] eventType
ID do evento passado pelo retorno de chamada do evento
[in] inParam
Referência dos parâmetros do evento de entrada passados ​​pelo retorno de chamada do evento
[in] outParam
Referência dos parâmetros do evento de saída passados ​​pelo retorno de chamada do evento