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::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{
|
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:: |
Paramètres d'entrée pour l'événement d'API WeaveEchoServer. |
nl:: |
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 |
|
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ê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.
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 |
|