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.

Résumé

La classe WeaveEchoServer implémente le côté répondant du protocole Weave Echo. À l'instar du protocole ping ICMP, le protocole Weave Echo peut être utilisé pour tester l'activité et la maniabilité d'un nœud Weave.

Les applications peuvent utiliser la classe WeaveEchoServer pour activer la réponse automatique aux messages EchoRequest entrants. Une classe correspondante existe pour lancer des requêtes d'écho (voir WeaveEchoClient).

Par défaut, WeaveEchoServer répond immédiatement à une EchoRequest dont la réponse contient la même charge utile que la requête. Cependant, ce comportement peut être modifié par l'application lors du traitement de l'événement API EchoRequestReceived.

Événements de l'API

Au cours de son fonctionnement, l'objet WeaveEchoServer appelle l'application pour demander des actions spécifiques ou envoyer des notifications en cas d'événements importants. Ces appels d'événements d'API sont effectués vers la fonction de rappel actuellement configurée sur l'objet serveur. Sauf indication contraire, les applications sont libres de modifier l'état du serveur lors d'un rappel d'événement. La méthode Shutdown() de l'objet constitue une exception générale, car elle peut ne jamais être appelée lors d'un rappel.

Les événements d'API suivants sont définis:

EchoRequestReceived

Un message EchoRequest a été reçu d'un pair. Les arguments de l'événement contiennent la charge utile de la requête, le contexte d'échange dans lequel le message a été reçu et des méta-informations sur le message de requête.

Si l'application le souhaite, elle peut modifier les arguments de sortie de l'événement afin de forcer un délai de réponse ou de supprimer complètement la réponse. En outre, elle peut modifier le contenu du tampon de charge utile, qui deviendra la charge utile du message de réponse.

EchoResponseSent

Un message EchoResponse a été envoyé, ou son envoi a échoué. Les arguments de l'événement contiennent l'erreur résultant de l'envoi du message (le cas échéant) et le contexte d'échange sur lequel le message a été envoyé.

Héritage

Hérite de: nl::Weave::WeaveServerBase
Sous-classes directes connues: nl::Weave::DeviceLayer::Internal::EchoServer

Constructeurs et destructeurs

WeaveEchoServer(void)
Constructeur par défaut pour WeaveEchoServer.

Types publics

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
}
énum

Attributs publics

AppState
void *
Pointeur vers les données spécifiques à l'application.
OnEchoRequestReceived
EchoFunct

Fonctions publiques

GetEventCallback(void) const
EventCallback
Renvoie un pointeur vers la fonction de rappel d'événement d'API actuellement configurée sur l'objet WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Initialisez un objet WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr)
Initialisez un objet WeaveEchoServer.
SetEventCallback(EventCallback eventCallback)
void
Définit la fonction de rappel d'événement d'API sur l'objet WeaveEchoServer.
Shutdown(void)
Arrêtez un objet WeaveEchoServer précédemment initialisé.

Fonctions statiques publiques

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Gestionnaire par défaut pour les événements d'API WeaveEchoServer

Structs

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

Paramètres d'entrée pour l'événement d'API WeaveEchoServer.

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

Paramètres de sortie dans l'événement d'API WeaveEchoServer.

Types publics

EchoFunct

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

EventCallback

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

EventType

 EventType
Propriétés
kEvent_DefaultCheck

Permet de vérifier que la gestion des événements par défaut est correcte dans l'application.

kEvent_EchoRequestReceived

Un message EchoRequest a été reçu d'un pair.

kEvent_EchoResponseSent

Un message EchoResponse a été envoyé, ou son envoi a échoué.

Attributs publics

AppState

void * AppState

Pointeur vers les données spécifiques à l'application.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Fonctions publiques

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Renvoie un pointeur vers la fonction de rappel d'événement d'API actuellement configurée sur l'objet WeaveEchoServer.

Init

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

Initialisez un objet WeaveEchoServer.

Initialisez un objet WeaveEchoServer pour répondre aux messages d'écho d'un pair.

Détails
Paramètres
[in] exchangeMgr
Un pointeur vers l'objet WeaveExchangeManager.
[in] eventCallback
Pointeur vers une fonction qui sera appelée par l'objet WeaveEchoServer pour envoyer des événements d'API à l'application.
[in] appState
Pointeur vers un objet défini par l'application qui sera renvoyé à l'application chaque fois qu'un événement d'API se produit.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Initialisez un objet WeaveEchoServer.

Initialisez un objet WeaveEchoServer pour répondre aux messages d'écho d'un pair.

OBSOLÈTE: veuillez utiliser Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState).

Détails
Paramètres
[in] exchangeMgr
Un pointeur vers l'objet WeaveExchangeManager.
[in] eventCallback
Pointeur vers une fonction qui sera appelée par l'objet WeaveEchoServer pour envoyer des événements d'API à l'application.
[in] appState
Pointeur vers un objet défini par l'application qui sera renvoyé à l'application chaque fois qu'un événement d'API se produit.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Définit la fonction de rappel d'événement d'API sur l'objet WeaveEchoServer.

Arrêt

WEAVE_ERROR Shutdown(
  void
)

Arrêtez un objet WeaveEchoServer précédemment initialisé.

Notez que cette méthode ne peut être appelée que si la méthode Init() a déjà été appelée.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Constructeur par défaut pour WeaveEchoServer.

Fonctions statiques publiques

DefaultEventHandler

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

Gestionnaire par défaut pour les événements d'API WeaveEchoServer

Les applications doivent appeler cette méthode pour tous les événements d'API qu'elles ne reconnaissent ou ne gèrent pas. Les paramètres fournis doivent être identiques à ceux transmis par l'objet serveur à la fonction de gestionnaire d'événements de l'application.

Détails
Paramètres
[in] appState
Pointeur vers les informations d'état définies par l'application associées à l'objet serveur.
[in] eventType
ID de l'événement transmis par le rappel d'événement
[in] inParam
Référence des paramètres d'événement d'entrée transmis par le rappel d'événement
[in] outParam
Référence des paramètres d'événement de sortie transmis par le rappel d'événement