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épondeur du protocole Weave Echo. Tout comme le protocole ping ICMP, le protocole Weave Echo peut être utilisé pour tester l'activité et la joignabilité d'un nœud Weave.

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

Par défaut, le WeaveEchoServer répond immédiatement à une EchoRequest, avec une réponse contenant la même charge utile que la requête. Toutefois, ce comportement peut être modifié par l'application lors du traitement de l'événement d'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 d'événements importants. Ces appels d'événements d'API sont envoyés à 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. Une exception globale est la méthode Shutdown() de l'objet, qui 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 la requête.

Si l'application le souhaite, elle peut modifier les arguments de sortie de l'événement pour forcer un délai de réponse ou pour supprimer complètement la réponse. En outre, il 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 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 via 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
}
enum

Attributs publics

AppState
void *
Pointeur vers des 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 de l'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êter 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 de l'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 de 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 les événements par défaut sont correctement gérés dans l'application.

kEvent_EchoRequestReceived

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

kEvent_EchoResponseSent

Un message EchoResponse a été envoyé ou a échoué.

Attributs publics

AppState

void * AppState

Pointeur vers des 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 de l'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
Pointeur vers l'objet WeaveExchangeManager.
[in] eventCallback
Pointeur vers une fonction qui sera appelée par l'objet WeaveEchoServer pour fournir les événements d'API à l'application.
[in] appState
Pointeur vers un objet défini par l'application, qui est 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
Pointeur vers l'objet WeaveExchangeManager.
[in] eventCallback
Pointeur vers une fonction qui sera appelée par l'objet WeaveEchoServer pour fournir les événements d'API à l'application.
[in] appState
Pointeur vers un objet défini par l'application, qui est 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êter 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 de l'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 d'é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