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::WeaveServerBaseSubclass 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)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
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:: |
Parameter input ke peristiwa API WeaveEchoServer. |
nl:: |
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 |
|
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 |
|
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.
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 |
|