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::WeaveServerBaseSous-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)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
é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:: |
Paramètres d'entrée pour l'événement d'API WeaveEchoServer. |
nl:: |
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 |
|
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 |
|
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.
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 |
|