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.

Resumo

A classe WeaveEchoServer implementa o lado que responde do protocolo Weave Echo. Semelhante ao protocolo de ping ICMP, o protocolo Weave Echo pode ser usado para testar a atividade e a acessibilidade de um nó do Weave.

Os aplicativos podem usar a classe WeaveEchoServer para ativar a resposta automática a mensagens EchoRequest recebidas. 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 o mesmo payload que a solicitação. No entanto, esse comportamento pode ser alterado pelo aplicativo durante o processamento do evento da API EchoRequestReceived.

Eventos da API

Durante a operação, o objeto WeaveEchoServer chama o aplicativo para solicitar ações específicas ou enviar notificações de eventos importantes. Essas chamadas de evento de API são feitas para a função de callback atualmente configurada no objeto do servidor. Exceto quando indicado, os aplicativos são livres para alterar o estado do servidor durante um callback de evento. Uma exceção geral é o método Shutdown() do objeto, que pode nunca ser chamado durante um callback.

Os seguintes eventos da API são definidos:

EchoRequestReceived

Uma mensagem EchoRequest foi recebida de um usuário. Os argumentos para o evento contêm o payload da solicitação, o contexto de troca em que a mensagem foi recebida e as metainformações sobre a mensagem de solicitação.

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

EchoResponseSent

Uma mensagem EchoResponse foi enviada ou falhou ao enviar. Os argumentos para o evento contêm o erro resultante do envio da mensagem (se houver) e o contexto da troca pelo qual a mensagem foi enviada.

Herança

Herdar de: nl::Weave::WeaveServerBase
Subclasses conhecidas diretas: nl::Weave::DeviceLayer::Internal::EchoServer

Construtores e destrutores

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 callback do evento da 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 callback do evento da API no objeto WeaveEchoServer.
Shutdown(void)
Encerra um objeto WeaveEchoServer inicializado anteriormente.

Funções estáticas públicas

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

Estruturas

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)

EventType

 EventType
Propriedades
kEvent_DefaultCheck

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

kEvent_EchoRequestReceived

Uma mensagem EchoRequest foi recebida de um usuário.

kEvent_EchoResponseSent

Uma mensagem EchoResponse foi enviada ou falhou ao enviar.

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 callback do evento da API atualmente configurada no objeto WeaveEchoServer.

Init

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

Inicialize um objeto WeaveEchoServer.

Inicialize um objeto WeaveEchoServer para responder a mensagens de eco de um peering.

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 para o aplicativo.
[in] appState
Um ponteiro para um objeto definido pelo aplicativo que será retornado ao aplicativo sempre que ocorrer um evento da API.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Inicialize um objeto WeaveEchoServer.

Inicialize um objeto WeaveEchoServer para responder a mensagens de eco de um peering.

OBSOLETO: use Init(Weave ExchangeManager * 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 para o aplicativo.
[in] appState
Um ponteiro para um objeto definido pelo aplicativo que será retornado ao aplicativo sempre que ocorrer um evento da API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Define a função de callback do evento da API no objeto WeaveEchoServer.

Desligamento

WEAVE_ERROR Shutdown(
  void
)

Encerra um objeto WeaveEchoServer inicializado anteriormente.

Esse método só poderá 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
)

Gerenciador padrão de eventos da API WeaveEchoServer.

Os aplicativos precisam chamar esse método para eventos da API que não reconhecerem ou manipularem. Os parâmetros fornecidos devem ser iguais aos passados pelo objeto do servidor para a função do manipulador de eventos do aplicativo.

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