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 เหล่านี้จะทำไปยังฟังก์ชัน Callback ที่กำหนดค่าไว้ในปัจจุบันในออบเจ็กต์เซิร์ฟเวอร์ แอปพลิเคชันสามารถเปลี่ยนสถานะของเซิร์ฟเวอร์ในระหว่าง Callback ของเหตุการณ์ได้อย่างอิสระ ยกเว้นในกรณีที่ระบุไว้เป็นอย่างอื่น ข้อยกเว้นโดยรวมอย่างหนึ่งคือเมธอด Shutdown() ของออบเจ็กต์ ซึ่งอาจไม่มีการเรียกใช้ในระหว่าง Callback
กําหนดเหตุการณ์ API ต่อไปนี้
EchoRequestReceived
แอปเทียบเท่าได้รับข้อความ EchoRequest อาร์กิวเมนต์ในเหตุการณ์จะมีเพย์โหลดคำขอ บริบทการแลกเปลี่ยนที่ได้รับข้อความ และข้อมูลเมตาเกี่ยวกับข้อความคำขอ
แต่หากแอปพลิเคชันเลือก ก็อาจเปลี่ยนอาร์กิวเมนต์เอาต์พุตเป็นเหตุการณ์เพื่อบังคับให้ตอบสนองล่าช้าหรือระงับการตอบกลับทั้งหมด นอกจากนี้ ยังอาจเปลี่ยนเนื้อหาของบัฟเฟอร์เพย์โหลด ซึ่งจะกลายเป็นเพย์โหลดสำหรับข้อความตอบกลับ
EchoResponseSent
ส่งข้อความ EchoResponse แล้วหรือส่งไม่สำเร็จ อาร์กิวเมนต์ไปยังเหตุการณ์มีข้อผิดพลาดที่เกิดจากการส่งข้อความ (หากมี) และบริบทของการแลกเปลี่ยนที่มีการส่งข้อความ
การสืบทอด
รับค่าจาก: nl::Weave::WeaveServerBaseคลาสย่อยที่รู้จักโดยตรง: 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
แสดงผลตัวชี้ไปยังฟังก์ชัน Callback ของเหตุการณ์ API ที่กําหนดค่าไว้ในออบเจ็กต์ WeaveEchoServer อยู่ในปัจจุบัน
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
เริ่มต้นออบเจ็กต์ WeaveEchoServer
|
Init(WeaveExchangeManager *exchangeMgr)
|
เริ่มต้นออบเจ็กต์ WeaveEchoServer
|
SetEventCallback(EventCallback eventCallback)
|
void
ตั้งค่าฟังก์ชัน Callback ของเหตุการณ์ 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
แสดงผลตัวชี้ไปยังฟังก์ชัน Callback ของเหตุการณ์ API ที่กําหนดค่าไว้ในออบเจ็กต์ WeaveEchoServer อยู่ในปัจจุบัน
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
เริ่มต้นออบเจ็กต์ WeaveEchoServer
เริ่มต้นออบเจ็กต์ WeaveEchoServer เพื่อตอบกลับข้อความสะท้อนกลับจากแอปเทียบเท่า
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
เริ่มต้นออบเจ็กต์ WeaveEchoServer
เริ่มต้นออบเจ็กต์ WeaveEchoServer เพื่อตอบกลับข้อความสะท้อนกลับจากแอปเทียบเท่า
เลิกใช้งานแล้ว: โปรดใช้ Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState)
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
ตั้งค่าฟังก์ชัน Callback ของเหตุการณ์ API ในออบเจ็กต์ WeaveEchoServer
ปิดการทำงาน
WEAVE_ERROR Shutdown( void )
ปิดออบเจ็กต์ WeaveEchoServer ที่เริ่มต้นไว้ก่อนหน้านี้
โปรดทราบว่าจะมีการเรียกเมธอดนี้ก็ต่อเมื่อมีการเรียกเมธอด Init() ไว้ก่อนหน้านี้เท่านั้น
ฟังก์ชันสาธารณะแบบคงที่
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
ตัวแฮนเดิลเริ่มต้นสำหรับเหตุการณ์ API WeaveEchoServer
แอปพลิเคชันจําเป็นต้องเรียกใช้เมธอดนี้หากมีเหตุการณ์ API ที่ไม่รู้จักหรือจัดการไม่ได้ พารามิเตอร์ที่ระบุต้องเหมือนกับพารามิเตอร์ที่ส่งโดยออบเจ็กต์เซิร์ฟเวอร์ไปยังฟังก์ชันเครื่องจัดการเหตุการณ์ของแอปพลิเคชัน
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|