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 Replyer-Seite des Weave Echo-Protokolls. Ähnlich wie beim ICMP-Ping-Protokoll kann mit dem Weave Echo-Protokoll die Aktivität und Erreichbarkeit eines Weave-Knotens getestet werden.
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 von der Anwendung während der Verarbeitung des EchoRequestReceived API-Ereignisses geändert werden.
API-Ereignisse
Während des 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 Ereignisrückrufs ändern. Eine allgemeine Ausnahme ist die Methode Shutdown() des Objekts, die während eines Rückrufs niemals aufgerufen werden kann.
Die folgenden API-Ereignisse sind definiert:
EchoRequestReceived
Ein Peer hat eine EchoRequest-Nachricht empfangen. Argumente für das Ereignis enthalten die Nutzlast der Anfrage, den Austauschkontext, über den die Nachricht empfangen wurde, und Metainformationen zur Anfragenachricht.
Wenn die Anwendung dies auswählt, können die Ausgabeargumente an das Ereignis angepasst werden, um eine Verzögerung bei der Antwort zu erzwingen oder die Antwort vollständig zu unterdrücken. Außerdem kann es den Inhalt des Nutzlastzwischenspeichers ändern, der als Nutzlast für die Antwortnachricht dient.
EchoResponseSent
Eine EchoResponse-Nachricht wurde gesendet oder konnte nicht gesendet werden. Argumente für das Ereignis enthalten gegebenenfalls den Fehler, der sich aus dem Senden der Nachricht ergeben hat, und den Exchange-Kontext, über den die Nachricht gesendet wurde.
Übernahme
Übernimmt von: nl::Weave::WeaveServerBaseDirekte bekannte abgeleitete Klassen: 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)
|
typedef.void(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedef.void(*
|
EventType{
|
enum |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Zeiger auf anwendungsspezifische Daten.
|
OnEchoRequestReceived
|
EchoFunct
|
Öffentliche Funktionen |
|
---|---|
GetEventCallback(void) const
|
EventCallback
Gibt einen Zeiger auf die API-Ereignis-Callback-Funktion zurück, die aktuell 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 API-Ereignis-Callback-Funktion 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 prüfen. |
kEvent_EchoRequestReceived
|
Ein Peer hat 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 Zeiger auf die API-Ereignis-Callback-Funktion zurück, die aktuell 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 reagieren.
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 reagieren.
VERWORFEN: Verwenden Sie Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Legt die API-Ereignis-Callback-Funktion 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 die Init()-Methode zuvor 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 angegebenen Parameter müssen denen entsprechen, die vom Serverobjekt an die Ereignis-Handler-Funktion der Anwendung übergeben werden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|