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.
สรุป
คลาส WeaveEchoServer จะใช้ด้านผู้ตอบของโปรโตคอล Weave Echo โปรโตคอล Weave Echo สามารถใช้ทดสอบความพร้อมใช้งานและความสามารถในการเข้าถึงของโหนด Weave ได้เช่นเดียวกับโปรโตคอล Ping ของ ICMP
แอปพลิเคชันจะใช้คลาส WeaveEchoServer เพื่อเปิดใช้การตอบกลับอัตโนมัติกับข้อความ EchoRequest ขาเข้า มีคลาสที่เกี่ยวข้องเพื่อเริ่มคำขอเสียงสะท้อน (โปรดดู WeaveEchoClient)
โดยค่าเริ่มต้น WeaveEchoServer จะตอบสนองต่อ EchoRequest ทันทีด้วยการตอบกลับที่มีเพย์โหลดเดียวกันกับคำขอ แต่แอปพลิเคชันจะแก้ไขลักษณะการทำงานนี้ได้ระหว่างการประมวลผลเหตุการณ์ EchoRequestReceived API
เหตุการณ์ API
ในระหว่างการทำงาน ออบเจ็กต์ WeaveEchoServer จะเรียกใช้แอปพลิเคชันเพื่อขอการดำเนินการเฉพาะหรือส่งการแจ้งเตือนเหตุการณ์สำคัญ การเรียกเหตุการณ์ API เหล่านี้จะเรียกใช้ฟังก์ชันเรียกกลับที่กำหนดค่าไว้ในปัจจุบันบนออบเจ็กต์เซิร์ฟเวอร์ แอปพลิเคชันสามารถเปลี่ยนสถานะของเซิร์ฟเวอร์ในระหว่างการเรียกกลับของเหตุการณ์ได้ ยกเว้นในกรณีที่ระบุไว้ ข้อยกเว้นโดยรวมประการหนึ่งคือเมธอด Shutdown() ของออบเจ็กต์ ซึ่งอาจไม่มีการเรียกใช้ในระหว่างการเรียกกลับ
กําหนดเหตุการณ์ API ต่อไปนี้
EchoRequestReceived
ได้รับข้อความ EchoRequest จากเพียร์ อาร์กิวเมนต์ของเหตุการณ์จะมีเปย์โหลดคำขอ บริบทการแลกเปลี่ยนที่ได้รับข้อความ และข้อมูลเมตาเกี่ยวกับข้อความคำขอ
หากแอปพลิเคชันเลือก ก็อาจเปลี่ยนอาร์กิวเมนต์เอาต์พุตเป็นเหตุการณ์เพื่อบังคับการหน่วงเวลาในการตอบกลับหรือระงับการตอบสนองไปเลย นอกจากนี้ อาจมีการเปลี่ยนแปลงเนื้อหาของบัฟเฟอร์เพย์โหลด ซึ่งจะกลายเป็นเพย์โหลดสำหรับข้อความตอบกลับ
EchoResponseSent
ส่งข้อความ EchoResponse แล้ว หรือไม่สามารถส่งได้ อาร์กิวเมนต์ไปยังเหตุการณ์มีข้อผิดพลาดที่เกิดจากการส่งข้อความ (หากมี) และบริบทการแลกเปลี่ยนที่มีการส่งข้อความ
การสืบทอด
รับค่าจาก nl::Weave::WeaveServerBaseDirect Known Subclasses: nl::Weave::DeviceLayer::Internal::EchoServer
ผู้ผลิตและผู้ทำลาย |
|
---|---|
WeaveEchoServer(void)
ตัวสร้างเริ่มต้นสำหรับ WeaveEchoServer
|
ประเภทสาธารณะ |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
enum |
แอตทริบิวต์สาธารณะ |
|
---|---|
AppState
|
void *
ตัวชี้ไปยังข้อมูลเฉพาะแอปพลิเคชัน
|
OnEchoRequestReceived
|
EchoFunct
|
ฟังก์ชันสาธารณะ |
|
---|---|
GetEventCallback(void) const
|
EventCallback
แสดงผลตัวชี้ไปยังฟังก์ชันเรียกกลับของเหตุการณ์ API ที่กำหนดค่าในปัจจุบันบนออบเจ็กต์ WeaveEchoServer
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
เริ่มต้นออบเจ็กต์ WeaveEchoServer
|
Init(WeaveExchangeManager *exchangeMgr)
|
เริ่มต้นออบเจ็กต์ WeaveEchoServer
|
SetEventCallback(EventCallback eventCallback)
|
void
ตั้งค่าฟังก์ชันเรียกกลับของเหตุการณ์ API ในออบเจ็กต์ WeaveEchoServer
|
Shutdown(void)
|
ปิดออบเจ็กต์ WeaveEchoServer ที่เริ่มต้นไว้ก่อนหน้านี้
|
ฟังก์ชันแบบคงที่แบบสาธารณะ |
|
---|---|
DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
|
void
ตัวแฮนเดิลเริ่มต้นสำหรับเหตุการณ์ API ของ WeaveEchoServer
|
โครงสร้าง |
|
---|---|
nl:: |
ป้อนพารามิเตอร์ไปยังเหตุการณ์ WeaveEchoServer API |
nl:: |
ส่งออกพารามิเตอร์ไปยังเหตุการณ์ API WeaveEchoServer |
ประเภทสาธารณะ
EchoFunct
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
EventType
EventType
พร็อพเพอร์ตี้ | |
---|---|
kEvent_DefaultCheck
|
ใช้เพื่อตรวจสอบการจัดการเหตุการณ์เริ่มต้นที่ถูกต้องในแอปพลิเคชัน |
kEvent_EchoRequestReceived
|
ได้รับข้อความ EchoRequest จากเพียร์ |
kEvent_EchoResponseSent
|
ส่งข้อความ EchoResponse แล้ว หรือไม่สามารถส่งได้ |
แอตทริบิวต์สาธารณะ
AppState
void * AppState
ตัวชี้ไปยังข้อมูลเฉพาะแอปพลิเคชัน
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
ฟังก์ชันสาธารณะ
GetEventCallback
EventCallback GetEventCallback( void ) const
แสดงผลตัวชี้ไปยังฟังก์ชันเรียกกลับของเหตุการณ์ API ที่กำหนดค่าในปัจจุบันบนออบเจ็กต์ WeaveEchoServer
เริ่มต้น
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
เริ่มต้นออบเจ็กต์ WeaveEchoServer
เริ่มต้นออบเจ็กต์ WeaveEchoServer เพื่อตอบกลับข้อความสะท้อนจากเพียร์
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
เริ่มต้น
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
เริ่มต้นออบเจ็กต์ WeaveEchoServer
เริ่มต้นออบเจ็กต์ WeaveEchoServer เพื่อตอบกลับข้อความสะท้อนจากเพียร์
เลิกใช้งานแล้ว: โปรดใช้ Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState)
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
ตั้งค่าฟังก์ชันเรียกกลับของเหตุการณ์ API ในออบเจ็กต์ WeaveEchoServer
ปิดการทำงาน
WEAVE_ERROR Shutdown( void )
ปิดออบเจ็กต์ WeaveEchoServer ที่เริ่มต้นไว้ก่อนหน้านี้
โปรดทราบว่าจะเรียกเมธอดนี้ได้ก็ต่อเมื่อมีการเรียกเมธอด Init() ก่อนหน้านี้เท่านั้น
ฟังก์ชันแบบคงที่แบบสาธารณะ
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
ตัวแฮนเดิลเริ่มต้นสำหรับเหตุการณ์ API ของ WeaveEchoServer
แอปพลิเคชันจะต้องเรียกใช้เมธอดนี้สําหรับเหตุการณ์ API ที่ไม่รู้จักหรือจัดการ พารามิเตอร์ที่ระบุต้องเหมือนกับพารามิเตอร์ที่ส่งโดยออบเจ็กต์เซิร์ฟเวอร์ไปยังฟังก์ชันเครื่องจัดการเหตุการณ์ของแอปพลิเคชัน
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|