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.
Zusammenfassung
Die Klasse WeaveEchoServer implementiert die Antwortseite des Weave Echo-Protokolls. Ähnlich wie das ICMP-Ping-Protokoll kann das Weave Echo-Protokoll verwendet werden, um die Aktivität und Erreichbarkeit eines Weave-Knotens zu testen.
Anwendungen können die Klasse WeaveEchoServer verwenden, um eine automatische Antwort auf eingehende EchoRequest-Nachrichten zu ermöglichen. Zum Initiieren von Echo-Anfragen ist eine entsprechende Klasse vorhanden (siehe WeaveEchoClient).
Standardmäßig antwortet WeaveEchoServer sofort auf einen EchoRequest mit einer Antwort, die dieselbe Nutzlast wie die Anfrage enthält. Dieses Verhalten kann jedoch während der Verarbeitung des EchoRequestReceived API-Ereignisses von der Anwendung geändert werden.
API-Ereignisse
Während seines Betriebs ruft das Objekt WeaveEchoServer die Anwendung auf, um bestimmte Aktionen anzufordern oder Benachrichtigungen über wichtige Ereignisse zu senden. Diese API-Ereignisaufrufe erfolgen an die aktuell konfigurierte Callback-Funktion auf dem Serverobjekt. Sofern nicht anders angegeben, können Anwendungen den Status des Servers während eines Ereignis-Callbacks ändern. Eine allgemeine Ausnahme ist die Methode Herunterfahren() des Objekts, die während eines Rückrufs möglicherweise nie aufgerufen wird.
Die folgenden API-Ereignisse sind definiert:
EchoRequestReceived
Von einem Peer wurde eine EchoRequest-Nachricht empfangen. Argumente für das Ereignis enthalten die Nutzlast der Anfrage, den Austauschkontext, über den die Nachricht empfangen wurde, sowie Meta-Informationen zur Anfragenachricht.
Bei Auswahl der Anwendung können die Ausgabeargumente auf das Ereignis geändert werden, um eine Verzögerung bei der Antwort zu erzwingen oder die Antwort ganz zu unterdrücken. Außerdem kann er den Inhalt des Nutzlastpuffers ändern, der zur Nutzlast für die Antwortnachricht wird.
EchoResponseSent
Eine EchoResponse-Nachricht wurde gesendet oder konnte nicht gesendet werden. Argumente für das Ereignis enthalten den Fehler, der aus dem Senden der Nachricht resultiert (falls vorhanden) sowie den Austauschkontext, über den die Nachricht gesendet wurde.
Übernahme
Übernimmt von: nl::Weave::WeaveServerBaseDirekte bekannte Unterklassen: nl::Weave::DeviceLayer::Internal::EchoServer
Konstruktoren und Zerstörer |
|
---|---|
WeaveEchoServer(void)
Standardkonstruktor für WeaveEchoServer.
|
Öffentliche Typen |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Zeiger auf anwendungsspezifische Daten.
|
OnEchoRequestReceived
|
EchoFunct
|
Öffentliche Funktionen |
|
---|---|
GetEventCallback(void) const
|
EventCallback
Gibt einen Verweis auf die Callback-Funktion für API-Ereignisse zurück, die derzeit für das WeaveEchoServer-Objekt konfiguriert ist.
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
Initialisieren Sie ein WeaveEchoServer-Objekt.
|
Init(WeaveExchangeManager *exchangeMgr)
|
Initialisieren Sie ein WeaveEchoServer-Objekt.
|
SetEventCallback(EventCallback eventCallback)
|
void
Legt die Callback-Funktion für API-Ereignisse für das WeaveEchoServer-Objekt fest.
|
Shutdown(void)
|
Fahren Sie ein zuvor initialisiertes WeaveEchoServer-Objekt herunter.
|
Öffentliche statische Funktionen |
|
---|---|
DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
|
void
Standard-Handler für WeaveEchoServer-API-Ereignisse.
|
Strukturen |
|
---|---|
nl:: |
Eingabeparameter für das API-Ereignis WeaveEchoServer |
nl:: |
Ausgabeparameter für das API-Ereignis WeaveEchoServer |
Öffentliche Typen
EchoFunct
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
EventType
EventType
Attribute | |
---|---|
kEvent_DefaultCheck
|
Wird verwendet, um die korrekte Verarbeitung von Standardereignissen in der Anwendung zu überprüfen. |
kEvent_EchoRequestReceived
|
Von einem Peer wurde eine EchoRequest-Nachricht empfangen. |
kEvent_EchoResponseSent
|
Eine EchoResponse-Nachricht wurde gesendet oder konnte nicht gesendet werden. |
Öffentliche Attribute
AppState
void * AppState
Ein Zeiger auf anwendungsspezifische Daten.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
Öffentliche Funktionen
GetEventCallback
EventCallback GetEventCallback( void ) const
Gibt einen Verweis auf die Callback-Funktion für API-Ereignisse zurück, die derzeit für das WeaveEchoServer-Objekt konfiguriert ist.
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Initialisieren Sie ein WeaveEchoServer-Objekt.
Initialisieren Sie ein WeaveEchoServer-Objekt, um auf Echo-Nachrichten von einem Peer zu antworten.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Initialisieren Sie ein WeaveEchoServer-Objekt.
Initialisieren Sie ein WeaveEchoServer-Objekt, um auf Echo-Nachrichten von einem Peer zu antworten.
Eingestellt: Verwenden Sie Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Legt die Callback-Funktion für API-Ereignisse für das WeaveEchoServer-Objekt fest.
Herunterfahren
WEAVE_ERROR Shutdown( void )
Fahren Sie ein zuvor initialisiertes WeaveEchoServer-Objekt herunter.
Diese Methode kann nur aufgerufen werden, wenn zuvor die Methode Init() aufgerufen wurde.
Öffentliche statische Funktionen
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
Standard-Handler für WeaveEchoServer-API-Ereignisse.
Anwendungen müssen diese Methode für alle API-Ereignisse aufrufen, die sie nicht erkennen oder verarbeiten. Die bereitgestellten Parameter müssen mit denen übereinstimmen, die vom Serverobjekt an die Event-Handler-Funktion der Anwendung übergeben werden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|