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 do respondente 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 para mensagens de EchoRequest recebidas. Uma classe correspondente existe para iniciar solicitações de eco (consulte WeaveEchoClient).

Por padrão, o WeaveEchoServer responde imediatamente a um EchoRequest com uma resposta contendo o mesmo payload da 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 eventos de API são feitas para a função de callback atualmente configurada no objeto do servidor. Exceto quando indicado, os aplicativos podem 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 de API estão definidos:

EchoRequestReceived

Uma mensagem de EchoRequest foi recebida de um colega. Os argumentos para o evento contêm o payload da solicitação, o contexto de troca pela qual a mensagem foi recebida e as metainformações sobre ela.

Se quiser, o aplicativo pode alterar os argumentos de saída para o evento para 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 de EchoResponse foi enviada ou falhou ao ser enviada. Os argumentos para o evento contêm o erro que resultou do envio da mensagem (se houver) e o contexto de troca pela qual a mensagem foi enviada.

Herança

Herda de: nl::Weave::WeaveServerBase
Subclasses conhecidas diretas: 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 callback do evento da API configurada no momento 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 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 para 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 tratamento correto do evento padrão no aplicativo.

kEvent_EchoRequestReceived

Uma mensagem de EchoRequest foi recebida de um colega.

kEvent_EchoResponseSent

Uma mensagem de EchoResponse foi enviada ou falhou ao ser 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 callback do evento da API configurada no momento 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 peer.

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 para o 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 peer.

OBSOLETO: 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 para o aplicativo sempre que ocorrer um evento da API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

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

Encerramento

WEAVE_ERROR Shutdown(
  void
)

Encerra um objeto WeaveEchoServer inicializado anteriormente.

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

Os aplicativos precisam chamar esse método para qualquer evento da API que não reconheçam ou não consigam processar. Os parâmetros fornecidos precisam ser os mesmos 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 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