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. Serupa 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 akan 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 keseluruhan adalah metode Shutdown() objek, yang mungkin tidak pernah dipanggil selama callback.

Peristiwa API berikut ditentukan:

EchoRequestReceived

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

Jika aplikasi memilih, aplikasi dapat mengubah argumen output ke kejadian untuk memaksakan penundaan dalam merespons atau menyembunyikan respons sama sekali. Selain itu, ia bisa mengubah isi buffer payload, yang akan menjadi payload untuk pesan respons.

EchoResponseSent

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

Inheritance

Mewarisi dari: nl::Weave::WeaveServerBase
Direct Known Subclasses: 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)
Menonaktifkan objek WeaveEchoServer yang sebelumnya diinisialisasi.

Fungsi statis publik

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

Struct

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

Input parameter ke peristiwa API WeaveEchoServer.

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

Menghasilkan parameter 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 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.

Inisiasi

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 didefinisikan aplikasi yang akan diteruskan kembali ke aplikasi setiap kali peristiwa API terjadi.

Inisiasi

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 didefinisikan 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
)

Menonaktifkan objek WeaveEchoServer yang sebelumnya diinisialisasi.

Perhatikan bahwa 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 WeaveEchoServer API.

Aplikasi diharuskan 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 ditentukan 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