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::WeaveServerBase
Direkte 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) 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 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::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 ü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
[in] exchangeMgr
Ein Zeiger auf das WeaveExchangeManager-Objekt.
[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 API-Ereignis 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 antworten.

Eingestellt: Verwenden Sie Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).

Details
Parameter
[in] exchangeMgr
Ein Zeiger auf das WeaveExchangeManager-Objekt.
[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 API-Ereignis an die Anwendung zurückgegeben wird.

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.

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 bereitgestellten Parameter müssen mit denen übereinstimmen, die vom Serverobjekt an die Event-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 der Eingabeereignisparameter, die vom Ereignis-Callback übergeben werden
[in] outParam
Referenz der Ausgabeereignisparameter, die vom Ereignis-Callback übergeben werden