Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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 :: WeaveServerBase
Direkt 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) Typdef
void(*
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) Typdef
void(*
EventType {
kEvent_EchoRequestReceived = 1,
kEvent_EchoResponseSent = 2,
kEvent_DefaultCheck = 100
}
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
Eigenschaften
kEvent_DefaultCheck

Wird verwendet, um die korrekte Standardereignisbehandlung in der Anwendung zu überprüfen.

kEvent_EchoRequestReceived

Eine EchoRequest-Nachricht wurde von einem Peer 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 - 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
[in] exchangeMgr
Ein Zeiger auf das WeaveExchangeManager Objekt.
[in] eventCallback
Ein Zeiger auf eine Funktion , die durch das aufgerufen wird , WeaveEchoServer Objekt API Ereignisse an die Anwendung zu liefern.
[in] appState
Ein Zeiger auf ein anwendungsdefiniertes Objekt, das bei jedem Auftreten eines API-Ereignisses an die Anwendung zurückgegeben wird.

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
[in] exchangeMgr
Ein Zeiger auf das WeaveExchangeManager Objekt.
[in] eventCallback
Ein Zeiger auf eine Funktion , die durch das aufgerufen wird , WeaveEchoServer Objekt API Ereignisse an die Anwendung zu liefern.
[in] appState
Ein Zeiger auf ein anwendungsdefiniertes Objekt, das bei jedem Auftreten eines API-Ereignisses an die Anwendung zurückgegeben wird.

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.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Standardkonstruktor für WeaveEchoServer .

Ö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
[in] appState
Ein Zeiger auf anwendungsdefinierte Zustandsinformationen, die dem Serverobjekt zugeordnet sind.
[in] eventType
Ereignis-ID, die vom Ereignisrückruf übergeben wurde
[in] inParam
Referenz von Eingabeereignisparametern, die vom Ereignisrückruf übergeben werden
[in] outParam
Referenz der vom Ereignis-Callback übergebenen Ausgabeereignisparameter