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.

Podsumowanie

Klasa WeaveEchoServer implementuje po stronie użytkownika protokołu Weave Echo. Podobnie jak protokół ping ICMP, protokół Weave Echo może być używany do testowania żywotności i osiągalności węzła Weave.

Aplikacje mogą używać klasy WeaveEchoServer do włączania automatycznej odpowiedzi na przychodzące wiadomości EchoRequest. Istnieje klasa do inicjowania żądań echa (patrz WeaveEchoClient).

Domyślnie WeaveEchoServer od razu odpowiada na żądanie EchoRequest, wysyłając odpowiedź zawierającą ten sam ładunek co żądanie. Aplikacja może jednak zmienić to zachowanie podczas przetwarzania zdarzenia EchoRequestReceived API.

Zdarzenia API

W trakcie działania obiekt WeaveEchoServer wywołuje aplikację, aby zażądać określonych działań lub dostarczać powiadomienia o ważnych zdarzeniach. Te wywołania zdarzeń interfejsu API są kierowane do obecnie skonfigurowanej funkcji wywołania zwrotnego w obiekcie serwera. O ile nie zaznaczono inaczej, aplikacje mogą zmieniać stan serwera podczas wywołania zwrotnego zdarzenia. Jednym z ogólnych wyjątków jest metoda Shutdown() obiektu, która nie może zostać wywołana podczas wywołania zwrotnego.

Zdefiniowano te zdarzenia interfejsu API:

EchoRequestReceived

Odebrano wiadomość EchoRequest od połączenia równorzędnego. Argumenty zdarzenia zawierają ładunek żądania, kontekst wymiany, w ramach którego odebrano wiadomość, oraz metadane dotyczące komunikatu z żądaniem.

Jeśli aplikacja o tym zdecyduje, może zmienić argumenty wyjściowe zdarzenia, aby wymusić opóźnienie w udzieleniu odpowiedzi lub całkowicie pominąć odpowiedź. Może też zmienić zawartość bufora ładunku, który stanie się ładunkiem wiadomości z odpowiedzią.

EchoResponseSent

Wiadomość EchoResponse została wysłana lub nie udało się jej wysłać. Argumenty zdarzenia zawierają błąd wynikający z wysłania wiadomości (jeśli wystąpił) oraz kontekst wymiany, przez który wiadomość została wysłana.

Dziedziczenie

Dziedziczy z: nl::Weave::WeaveServerBase
Bezpośrednie znane podklasy: nl::Weave::DeviceLayer::Internal::EchoServer

Konstruktorzy i niszczyciele

WeaveEchoServer(void)
Domyślny konstruktor dla serwera WeaveEchoServer.

Typy publiczne

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 | typ wyliczeniowy

Atrybuty publiczne

AppState
void *
Wskaźnik do danych specyficznych dla aplikacji.
OnEchoRequestReceived
EchoFunct

Funkcje publiczne

GetEventCallback(void) const
EventCallback
Zwraca wskaźnik do funkcji wywołania zwrotnego zdarzenia interfejsu API, która jest obecnie skonfigurowana w obiekcie WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Zainicjuj obiekt WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr)
Zainicjuj obiekt WeaveEchoServer.
SetEventCallback(EventCallback eventCallback)
void
Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveEchoServer.
Shutdown(void)
Wyłącz zainicjowany wcześniej obiekt WeaveEchoServer.

Publiczne funkcje statyczne

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Domyślny moduł obsługi zdarzeń interfejsu API WeaveEchoServer.

Konstrukcja

nl::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

Parametry wejściowe zdarzenia interfejsu API WeaveEchoServer.

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

Parametry wyjściowe do zdarzenia interfejsu API WeaveEchoServer.

Typy publiczne

EchoFunct

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

EventCallback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

EventType

 EventType
Właściwości
kEvent_DefaultCheck

Służy do weryfikowania prawidłowej domyślnej obsługi zdarzeń w aplikacji.

kEvent_EchoRequestReceived

Odebrano wiadomość EchoRequest od połączenia równorzędnego.

kEvent_EchoResponseSent

Wiadomość EchoResponse została wysłana lub nie udało się jej wysłać.

Atrybuty publiczne

AppState

void * AppState

Wskaźnik do danych specyficznych dla aplikacji.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Funkcje publiczne

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Zwraca wskaźnik do funkcji wywołania zwrotnego zdarzenia interfejsu API, która jest obecnie skonfigurowana w obiekcie WeaveEchoServer.

Zainicjuj

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

Zainicjuj obiekt WeaveEchoServer.

Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na wiadomości echa od peera.

Szczegóły
Parametry
[in] exchangeMgr
Wskaźnik do obiektu WeaveExchangeManager.
[in] eventCallback
Wskaźnik do funkcji, która będzie wywoływana przez obiekt WeaveEchoServer w celu dostarczania zdarzeń interfejsu API do aplikacji.
[in] appState
Wskaźnik do obiektu zdefiniowanego przez aplikację, który jest zwracany do aplikacji po wystąpieniu zdarzenia interfejsu API.

Zainicjuj

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Zainicjuj obiekt WeaveEchoServer.

Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na wiadomości echa od peera.

WYCOFANE: użyj Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).

Szczegóły
Parametry
[in] exchangeMgr
Wskaźnik do obiektu WeaveExchangeManager.
[in] eventCallback
Wskaźnik do funkcji, która będzie wywoływana przez obiekt WeaveEchoServer w celu dostarczania zdarzeń interfejsu API do aplikacji.
[in] appState
Wskaźnik do obiektu zdefiniowanego przez aplikację, który jest zwracany do aplikacji po wystąpieniu zdarzenia interfejsu API.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveEchoServer.

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wyłącz zainicjowany wcześniej obiekt WeaveEchoServer.

Pamiętaj, że tę metodę można wywołać tylko wtedy, gdy metoda Init() została wywołana wcześniej.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Domyślny konstruktor dla serwera WeaveEchoServer.

Publiczne funkcje statyczne

DefaultEventHandler

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

Domyślny moduł obsługi zdarzeń interfejsu API WeaveEchoServer.

Aplikacje muszą wywoływać tę metodę w przypadku wszystkich zdarzeń interfejsu API, których nie rozpoznają ani nie obsługują. Podane parametry muszą być takie same jak te przekazane przez obiekt serwera do funkcji modułu obsługi zdarzeń aplikacji.

Szczegóły
Parametry
[in] appState
Wskaźnik do zdefiniowanych przez aplikację informacji o stanie, które są powiązane z obiektem serwera.
[in] eventType
Identyfikator zdarzenia przekazany przez wywołanie zwrotne zdarzenia.
[in] inParam
Dokumentacja wejściowych parametrów zdarzenia przekazanych przez wywołanie zwrotne zdarzenia
[in] outParam
Odwołanie do parametrów wyjściowych zdarzenia przekazanych przez wywołanie zwrotne zdarzenia