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::WeaveServerBase
Direkte 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{
  kEvent_EchoRequestReceived = 1,
  kEvent_EchoResponseSent = 2,
  kEvent_DefaultCheck = 100
}
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::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

Eingabeparameter für das API-Ereignis WeaveEchoServer.

nl::Weave::Profiles::Echo_Next::WeaveEchoServer::OutEventParam

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

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

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.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Standardkonstruktor für WeaveEchoServer.

Ö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
[in] appState
Ein Zeiger auf anwendungsdefinierte Statusinformationen, die dem Serverobjekt zugeordnet sind.
[in] eventType
Vom Ereignis-Callback übergebene Ereignis-ID
[in] inParam
Referenz von Eingabeereignisparametern, die vom Ereignis-Callback übergeben werden
[in] outParam
Referenz von Ausgabeereignisparametern, die vom Ereignis-Callback übergeben werden