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 stronę respondenta 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. Odpowiednia klasa istnieje do inicjowania żądań echo (zobacz WeaveEchoClient).
Domyślnie WeaveEchoServer odpowiada natychmiast na żądanie EchoRequest, wysyłając odpowiedź zawierającą ten sam ładunek co żądanie. Aplikacja może jednak zmienić to działanie podczas przetwarzania zdarzenia EchoRequestReceived API.
Zdarzenia interfejsu API
W trakcie działania obiekt WeaveEchoServer wywołuje aplikację, aby zażądać określonych działań lub dostarczyć powiadomienia o ważnych zdarzeniach. Te wywołania zdarzeń interfejsu API są wysyłane 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. Ogólnym wyjątkiem jest metoda Disabledown() obiektu, której nie można nigdy wywołać podczas wywołania zwrotnego.
Zdefiniowano te zdarzenia interfejsu API:
EchoRequestReceived
Odebrano wiadomość EchoRequest od elementu równorzędnego. Argumenty zdarzenia zawierają ładunek żądania, kontekst wymiany, w którym odebrano wiadomość, oraz metadane o wiadomości z żądania.
W takim przypadku aplikacja może zmienić argumenty wyjściowe zdarzenia, aby wymusić opóźnienie odpowiedzi lub całkowite wstrzymanie odpowiedzi. Dodatkowo może zmienić zawartość bufora ładunku, który stanie się ładunkiem wiadomości w odpowiedzi.
EchoResponseSent
Wiadomość echoResponse została wysłana lub nie udało się jej wysłać. Argumenty zdarzenia zawierają błąd, który wynikał z wysłania wiadomości (jeśli taka istnieje), oraz kontekst wymiany, w którym wiadomość została wysłana.
Dziedziczenie
Dziedziczy z: nl::Weave::WeaveServerBaseBezpośrednie znane podklasy: nl::Weave::DeviceLayer::Internal::EchoServer
Konstruktory i niszczyciele |
|
---|---|
WeaveEchoServer(void)
Domyślny konstruktor dla WeaveEchoServer.
|
Typy publiczne |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum | typ wyliczeniowy |
Atrybuty publiczne |
|
---|---|
AppState
|
void *
wskaźnik do danych związanych z aplikacją,
|
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 wcześniej zainicjowany 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.
|
Struktura |
|
---|---|
nl:: |
Parametry wejściowe zdarzenia interfejsu API WeaveEchoServer. |
nl:: |
Parametry wyjściowe dla 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 weryfikacji prawidłowej domyślnej obsługi zdarzeń w aplikacji. |
kEvent_EchoRequestReceived
|
Odebrano wiadomość EchoRequest od elementu 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 związanych z aplikacją,
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.
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
Zainicjuj obiekt WeaveEchoServer.
Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na komunikaty echa pochodzące od peera.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
Zainicjuj obiekt WeaveEchoServer.
Zainicjuj obiekt WeaveEchoServer, aby odpowiadać na komunikaty echa pochodzące od peera.
WYCOFANY: użyj Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState).
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveEchoServer.
Wyłączono
WEAVE_ERROR Shutdown( void )
Wyłącz wcześniej zainicjowany obiekt WeaveEchoServer.
Pamiętaj, że tę metodę można wywołać tylko wtedy, gdy metoda Init() została wywołana wcześniej.
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 przekazywane przez obiekt serwera do funkcji modułu obsługi zdarzeń aplikacji.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|