O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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

A classe WeaveEchoServer implementa o lado respondente do protocolo Weave Echo. 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 a classe WeaveEchoServer para ativar a resposta automática às mensagens EchoRequest de entrada. Existe uma classe correspondente para iniciar solicitações de eco (consulte WeaveEchoClient ).

Por padrão, o WeaveEchoServer responde imediatamente a um EchoRequest com resposta contendo a mesma carga útil da 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 objeto WeaveEchoServer chamará o aplicativo para solicitar ações específicas 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 exceção geral é o método Shutdown () do objeto, que nunca pode ser chamado durante um retorno de chamada.

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 de: nl :: Weave :: WeaveServerBase
Subclasses diretamente conhecidas: nl :: Weave :: DeviceLayer :: Internal :: 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 retorno de chamada do evento API atualmente configurada no objeto WeaveEchoServer .
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Inicialize um objeto WeaveEchoServer .
Init ( WeaveExchangeManager *exchangeMgr)
Inicialize um objeto WeaveEchoServer .
SetEventCallback (EventCallback eventCallback)
void
Define a função de retorno de chamada do evento API no objeto WeaveEchoServer .
Shutdown (void)
Desligue um objeto WeaveEchoServer inicializado anteriormente.

Funções estáticas públicas

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

Structs

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

Parâmetros de entrada para o evento da API WeaveEchoServer .

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

Parâmetros de saída para o evento da 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
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 retorno de chamada do evento API atualmente configurada no objeto WeaveEchoServer .

Iniciar

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

Inicialize um objeto WeaveEchoServer .

Inicialize um objeto WeaveEchoServer para responder às mensagens de eco de um par.

Detalhes
Parâmetros
[in] exchangeMgr
Um ponteiro para o objeto WeaveExchangeManager .
[in] eventCallback
Um ponteiro para uma função que será chamada pelo objeto WeaveEchoServer para entregar eventos de API ao 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
)

Inicialize um objeto WeaveEchoServer .

Inicialize um objeto WeaveEchoServer para responder às mensagens de eco de um par.

DESCONTINUADO: use Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) .

Detalhes
Parâmetros
[in] exchangeMgr
Um ponteiro para o objeto WeaveExchangeManager .
[in] eventCallback
Um ponteiro para uma função que será chamada pelo objeto WeaveEchoServer para entregar eventos de API ao 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 chamada do evento API no objeto WeaveEchoServer .

Desligar

WEAVE_ERROR Shutdown(
  void
)

Desligue um objeto WeaveEchoServer inicializado anteriormente.

Observe que esse método só pode ser chamado se o método Init () tiver 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 eventos da API WeaveEchoServer .

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 manipulador 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 de parâmetros de 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