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::WeaveServerBaseDirect 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)
|
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)
|
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:: |
Input parameter ke peristiwa API WeaveEchoServer. |
nl:: |
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 |
|
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 |
|
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.
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 |
|