nl:: Weben:: Profile:: 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 WeaveEchoServer Klasse implementiert die Responder - Seite des Weave Echo - Protokoll. Ähnlich dem ICMP-Ping-Protokoll kann das Weave Echo-Protokoll verwendet werden, um die Lebendigkeit und Erreichbarkeit eines Weave-Knotens zu testen.
Anwendungen können die Verwendung WeaveEchoServer Klasse auf automatische Antwort auf eingehende Nachrichten EchoRequest zu ermöglichen. Eine entsprechende Klasse vorhanden ist für Echo - Requests initiiert (siehe WeaveEchoClient ).
Standardmäßig wird der WeaveEchoServer reagiert sofort auf eine mit EchoRequest Antwort die gleiche Nutzlast wie die Anforderung enthält. Dieses Verhalten kann jedoch von der Anwendung während der Verarbeitung des EchoRequestReceived-API-Ereignisses geändert werden.
API-Ereignisse
Im Laufe seiner Tätigkeit ist , die WeaveEchoServer wird Objekt aufrufen, um die Anwendung auf Wunsch bestimmte Aktionen oder liefern Mitteilungen über wichtige Ereignisse. Diese API-Ereignisaufrufe werden an die derzeit konfigurierte Rückruffunktion auf dem Serverobjekt gesendet. Sofern nicht anders angegeben, können Anwendungen den Status des Servers während eines Ereignisrückrufs ändern. Eine allgemeine Ausnahme ist das Objekts Shutdown () Methode, die möglicherweise nie während eines Rückrufs aufgerufen werden.
Die folgenden API-Ereignisse sind definiert:
EchoRequestReceived
Eine EchoRequest-Nachricht wurde von einem Peer empfangen. Argumente für das Ereignis enthalten die Anforderungsnutzlast, den Austauschkontext, über den die Nachricht empfangen wurde, und Metainformationen zur Anforderungsnachricht.
Wenn die Anwendung dies wählt, kann sie die Ausgabeargumente des Ereignisses ändern, um eine Verzögerung der Antwort zu erzwingen oder die Antwort vollständig zu unterdrücken. Außerdem kann es den Inhalt des Nutzlastpuffers ändern, der die 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 beim Senden der Nachricht (sofern vorhanden) aufgetreten ist, und den Austauschkontext, über den die Nachricht gesendet wurde.
Erbe
Erbt von: nl :: Weave :: WeaveServerBaseDirekt bekannt Subklassen: nl :: Weave :: DeviceLayer :: Intern :: Echoserver
Konstruktoren und Destruktoren | |
---|---|
WeaveEchoServer (void) Standardkonstruktor für WeaveEchoServer . |
Öffentliche Typen | |
---|---|
EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) | Typdefvoid(* |
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) | Typdefvoid(* |
EventType { | aufzählen |
Öffentliche Attribute | |
---|---|
AppState | void * Ein Zeiger auf anwendungsspezifische Daten. |
OnEchoRequestReceived | EchoFunct |
Öffentliche Funktionen | |
---|---|
GetEventCallback (void) const | EventCallback Gibt einen Zeiger auf die API - Ereignisrückruffunktion zur Zeit auf dem konfigurierten WeaveEchoServer Objekt. |
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState) | Initialisieren eines WeaveEchoServer Objekt. |
Init ( WeaveExchangeManager *exchangeMgr) | Initialisieren eines WeaveEchoServer Objekt. |
SetEventCallback (EventCallback eventCallback) | void Legt die API Ereignis Callback - Funktion auf dem WeaveEchoServer Objekt. |
Shutdown (void) | Shutdown ein zuvor initialisiert WeaveEchoServer Objekt. |
Öffentliche statische Funktionen | |
---|---|
DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam) | void Standardprozedur für WeaveEchoServer API Ereignisse. |
Strukturen | |
---|---|
nl :: Weave :: Profile :: Echo_Next :: WeaveEchoServer :: InEventParam | Eingabeparameter WeaveEchoServer API - Ereignis. |
nl :: Weave :: Profile :: Echo_Next :: WeaveEchoServer :: OutEventParam | Ausgangsparameter zu WeaveEchoServer API - Ereignisse. |
Öffentliche Typen
EchoFunktion
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventRückruf
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
Ereignistyp
EventType
Ö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 - Ereignisrückruffunktion zur Zeit auf dem konfigurierten WeaveEchoServer Objekt.
Drin
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Initialisieren eines WeaveEchoServer Objekt.
Initialisieren eines WeaveEchoServer Objekt reagieren auf Echo - Nachrichten von einem Peer.
Einzelheiten | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Drin
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Initialisieren eines WeaveEchoServer Objekt.
Initialisieren eines WeaveEchoServer Objekt reagieren auf Echo - Nachrichten von einem Peer.
Veraltet: Verwenden Sie Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * AppState) .
Einzelheiten | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Legt die API Ereignis Callback - Funktion auf dem WeaveEchoServer Objekt.
Schließen
WEAVE_ERROR Shutdown( void )
Shutdown ein zuvor initialisiert WeaveEchoServer Objekt.
Beachten Sie, dass diese Methode nur , wenn die aufgerufen werden Init () Methode zuvor aufgerufen wurde.
Öffentliche statische Funktionen
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
Standardprozedur 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 Ereignishandlerfunktion der Anwendung übergeben werden.
Einzelheiten | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|