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.

Ringkasan

Class WeaveEchoServer menerapkan sisi responden dari protokol Weave Echo. Mirip dengan protokol ping ICMP, protokol Weave Echo dapat digunakan untuk menguji keaktifan dan keterjangkauan node Weave.

Aplikasi dapat menggunakan class WeaveEchoServer untuk mengaktifkan respons otomatis terhadap pesan EchoRequest yang masuk. Class yang sesuai ada untuk memulai permintaan echo (lihat WeaveEchoClient).

Secara default, WeaveEchoServer langsung merespons EchoRequest dengan respons yang berisi payload yang sama dengan permintaan. Namun, perilaku ini dapat diubah oleh aplikasi selama pemrosesan peristiwa EchoRequestReceived API.

Peristiwa API

Selama operasinya, objek WeaveEchoServer akan memanggil aplikasi untuk meminta tindakan tertentu atau mengirimkan notifikasi peristiwa penting. Panggilan peristiwa API ini dilakukan ke fungsi callback yang saat ini dikonfigurasi pada objek server. Kecuali dinyatakan lain, aplikasi bebas mengubah status server selama callback peristiwa. Satu pengecualian secara keseluruhan adalah metode Shutdown() objek, yang mungkin tidak pernah dipanggil selama callback.

Peristiwa API berikut ditentukan:

EchoRequestReceived

Pesan EchoRequest diterima dari rekan. Argumen untuk peristiwa berisi payload permintaan, konteks pertukaran tempat pesan diterima, dan informasi meta tentang pesan permintaan.

Jika dipilih, aplikasi bisa mengubah argumen output ke peristiwa untuk memaksa penundaan dalam merespons atau menyembunyikan respons sama sekali. Selain itu, parameter ini dapat mengubah konten buffer payload, yang akan menjadi payload pesan respons.

EchoResponseSent

Pesan EchoResponse telah dikirim, atau gagal dikirim. Argumen untuk peristiwa berisi error yang dihasilkan dari pengiriman pesan (jika ada) dan konteks pertukaran yang digunakan untuk mengirim pesan.

Inheritance

Mewarisi dari: nl::Weave::WeaveServerBase
Subclass yang Dikenal Langsung: nl::Weave::DeviceLayer::Internal::EchoServer

Konstruktor dan Destruktor

WeaveEchoServer(void)
Konstruktor default untuk WeaveEchoServer.

Jenis publik

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

Atribut publik

AppState
void *
Pointer ke data khusus aplikasi.
OnEchoRequestReceived
EchoFunct

Fungsi publik

GetEventCallback(void) const
EventCallback
Menampilkan pointer ke fungsi callback peristiwa API yang saat ini dikonfigurasi pada objek WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Lakukan inisialisasi objek WeaveEchoServer.
Init(WeaveExchangeManager *exchangeMgr)
Lakukan inisialisasi objek WeaveEchoServer.
SetEventCallback(EventCallback eventCallback)
void
Menetapkan fungsi callback peristiwa API pada objek WeaveEchoServer.
Shutdown(void)
Matikan objek WeaveEchoServer yang telah diinisialisasi sebelumnya.

Fungsi statis publik

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Pengendali default untuk peristiwa API WeaveEchoServer.

Struct

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

Parameter input ke peristiwa API WeaveEchoServer.

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

Parameter output ke peristiwa API WeaveEchoServer.

Jenis publik

EchoFunct

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

EventCallback

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

EventType

 EventType
Properti
kEvent_DefaultCheck

Digunakan untuk memverifikasi penanganan peristiwa default yang benar dalam aplikasi.

kEvent_EchoRequestReceived

Pesan EchoRequest diterima dari rekan.

kEvent_EchoResponseSent

Pesan EchoResponse telah dikirim, atau gagal dikirim.

Atribut publik

AppState

void * AppState

Pointer ke data khusus aplikasi.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Fungsi publik

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Menampilkan pointer ke fungsi callback peristiwa API yang saat ini dikonfigurasi pada objek WeaveEchoServer.

Init

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

Lakukan inisialisasi objek WeaveEchoServer.

Lakukan inisialisasi objek WeaveEchoServer untuk merespons pesan echo dari peer.

Detail
Parameter
[in] exchangeMgr
Pointer ke objek WeaveExchangeManager.
[in] eventCallback
Pointer ke fungsi yang akan dipanggil oleh objek WeaveEchoServer untuk mengirimkan peristiwa API ke aplikasi.
[in] appState
Pointer ke objek yang ditetapkan aplikasi yang akan diteruskan kembali ke aplikasi setiap kali peristiwa API terjadi.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Lakukan inisialisasi objek WeaveEchoServer.

Lakukan inisialisasi objek WeaveEchoServer untuk merespons pesan echo dari peer.

TIDAK DIGUNAKAN LAGI: Gunakan Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState).

Detail
Parameter
[in] exchangeMgr
Pointer ke objek WeaveExchangeManager.
[in] eventCallback
Pointer ke fungsi yang akan dipanggil oleh objek WeaveEchoServer untuk mengirimkan peristiwa API ke aplikasi.
[in] appState
Pointer ke objek yang ditetapkan aplikasi yang akan diteruskan kembali ke aplikasi setiap kali peristiwa API terjadi.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Menetapkan fungsi callback peristiwa API pada objek WeaveEchoServer.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Matikan objek WeaveEchoServer yang telah diinisialisasi sebelumnya.

Perhatikan, metode ini hanya dapat dipanggil jika metode Init() telah dipanggil sebelumnya.

WeaveEchoServer

 WeaveEchoServer(
  void
)

Konstruktor default untuk WeaveEchoServer.

Fungsi statis publik

DefaultEventHandler

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

Pengendali default untuk peristiwa API WeaveEchoServer.

Aplikasi diperlukan untuk memanggil metode ini untuk setiap peristiwa API yang tidak dikenali atau ditangani. Parameter yang diberikan harus sama dengan parameter yang diteruskan oleh objek server ke fungsi pengendali peristiwa aplikasi.

Detail
Parameter
[in] appState
Pointer ke informasi status yang ditetapkan aplikasi yang terkait dengan objek server.
[in] eventType
ID peristiwa yang diteruskan oleh callback peristiwa
[in] inParam
Referensi parameter peristiwa input yang diteruskan oleh callback peristiwa
[in] outParam
Referensi parameter peristiwa output yang diteruskan oleh callback peristiwa