จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

ไม่มี:: สาน:: โปรไฟล์:: 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 ระดับการดำเนินการด้านการตอบกลับของโปรโตคอลสานก้อง คล้ายกับโปรโตคอล ping ของ ICMP โปรโตคอล Weave Echo สามารถใช้ทดสอบความมีชีวิตและความสามารถในการเข้าถึงของโหนด Weave

การประยุกต์ใช้งานสามารถใช้ WeaveEchoServer ชั้นเรียนเพื่อช่วยให้การตอบสนองโดยอัตโนมัติไปยังข้อความ EchoRequest เข้า ชั้นที่สอดคล้องกันอยู่แล้วสำหรับการเริ่มต้นการร้องขอก้อง (ดู WeaveEchoClient )

โดยค่าเริ่มต้น WeaveEchoServer ตอบสนองทันทีไปยัง EchoRequest กับการตอบสนองที่มีน้ำหนักบรรทุกเช่นเดียวกับการร้องขอ อย่างไรก็ตาม แอปพลิเคชันสามารถเปลี่ยนแปลงพฤติกรรมนี้ได้ในระหว่างการประมวลผลเหตุการณ์ EchoRequestReceived API

เหตุการณ์ API

ในช่วงของการดำเนินงานที่ WeaveEchoServer วัตถุจะเรียกขึ้นไปประยุกต์ใช้ในการดำเนินการเฉพาะการร้องขอหรือให้ส่งการแจ้งเตือนเหตุการณ์สำคัญ การเรียกเหตุการณ์ API เหล่านี้เกิดขึ้นกับฟังก์ชันการเรียกกลับที่กำหนดค่าไว้ในปัจจุบันบนวัตถุเซิร์ฟเวอร์ ยกเว้นที่ระบุไว้ แอปพลิเคชันสามารถเปลี่ยนแปลงสถานะของเซิร์ฟเวอร์ในระหว่างการโทรกลับของเหตุการณ์ได้ ยกเว้นโดยรวมเป็นวัตถุ Shutdown () วิธีการซึ่งอาจไม่ถูกเรียกว่าในระหว่างการติดต่อกลับ

มีการกำหนดเหตุการณ์ API ต่อไปนี้:

EchoRequestReceived

ได้รับข้อความ EchoRequest จากเพื่อน อาร์กิวเมนต์ของเหตุการณ์ประกอบด้วยเพย์โหลดคำขอ บริบทการแลกเปลี่ยนที่ได้รับข้อความและข้อมูลเมตาเกี่ยวกับข้อความคำขอ

หากแอปพลิเคชันเลือก อาจเปลี่ยนอาร์กิวเมนต์เอาต์พุตของเหตุการณ์เพื่อบังคับให้ตอบสนองล่าช้าหรือระงับการตอบสนองโดยสิ้นเชิง นอกจากนี้ อาจเปลี่ยนแปลงเนื้อหาของบัฟเฟอร์ส่วนข้อมูล ซึ่งจะกลายเป็นส่วนของข้อมูลสำหรับข้อความตอบกลับ

EchoResponseส่งแล้ว

ส่งข้อความ EchoResponse หรือส่งไม่สำเร็จ อาร์กิวเมนต์ของเหตุการณ์ประกอบด้วยข้อผิดพลาดที่เกิดจากการส่งข้อความ (ถ้ามี) และบริบทการแลกเปลี่ยนที่ส่งข้อความ

มรดก

สืบทอดจาก: NL :: สาน :: WeaveServerBase
ตรง Subclasses เป็นที่รู้จัก: NL :: สาน :: DeviceLayer :: ภายใน :: EchoServer

ตัวสร้างและตัวทำลาย

WeaveEchoServer (void)
คอนสตรัคเริ่มต้นสำหรับ WeaveEchoServer

ประเภทสาธารณะ

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

คุณลักษณะสาธารณะ

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 วัตถุ

ฟังก์ชั่นคงที่สาธารณะ Public

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
จัดการเริ่มต้นสำหรับ WeaveEchoServer เหตุการณ์ API

โครงสร้าง

NL :: สาน :: โปรไฟล์ :: Echo_Next :: WeaveEchoServer :: InEventParam

ป้อนพารามิเตอร์เพื่อ WeaveEchoServer เหตุการณ์ API

NL :: สาน :: โปรไฟล์ :: Echo_Next :: WeaveEchoServer :: OutEventParam

พารามิเตอร์ที่ส่งออกไป WeaveEchoServer เหตุการณ์ API

ประเภทสาธารณะ

EchoFunct

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

EventCallback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

ประเภทเหตุการณ์

 EventType
คุณสมบัติ
kEvent_DefaultCheck

ใช้เพื่อตรวจสอบการจัดการเหตุการณ์เริ่มต้นที่ถูกต้องในแอปพลิเคชัน

kEvent_EchoRequestReceived

ได้รับข้อความ EchoRequest จากเพื่อน

kEvent_EchoResponseSent

ส่งข้อความ EchoResponse หรือส่งไม่สำเร็จ

คุณลักษณะสาธารณะ

AppState

void * AppState

ตัวชี้ไปยังข้อมูลเฉพาะแอปพลิเคชัน

ได้รับคำขอแล้วRe

EchoFunct OnEchoRequestReceived

งานสาธารณะ

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

ส่งกลับชี้ไปยัง API ฟังก์ชั่นการเรียกกลับเหตุการณ์กำหนดค่าในปัจจุบันใน WeaveEchoServer วัตถุ

ในนั้น

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

เริ่มต้น WeaveEchoServer วัตถุ

เริ่มต้น WeaveEchoServer วัตถุเพื่อตอบสนองต่อข้อความเสียงสะท้อนจากเพียร์

รายละเอียด
พารามิเตอร์
[in] exchangeMgr
ตัวชี้ไปยัง WeaveExchangeManager วัตถุ
[in] eventCallback
ตัวชี้ไปยังฟังก์ชั่นที่จะถูกเรียกโดย WeaveEchoServer วัตถุส่งกิจกรรม API เพื่อการประยุกต์ใช้
[in] appState
ตัวชี้ไปยังออบเจ็กต์ที่กำหนดโดยแอปพลิเคชันซึ่งจะถูกส่งกลับไปยังแอปพลิเคชันทุกครั้งที่มีเหตุการณ์ API เกิดขึ้น

ในนั้น

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

เริ่มต้น WeaveEchoServer วัตถุ

เริ่มต้น WeaveEchoServer วัตถุเพื่อตอบสนองต่อข้อความเสียงสะท้อนจากเพียร์

เลิก: กรุณาใช้ Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback โมฆะ * AppState)

รายละเอียด
พารามิเตอร์
[in] exchangeMgr
ตัวชี้ไปยัง WeaveExchangeManager วัตถุ
[in] eventCallback
ตัวชี้ไปยังฟังก์ชั่นที่จะถูกเรียกโดย WeaveEchoServer วัตถุส่งกิจกรรม API เพื่อการประยุกต์ใช้
[in] appState
ตัวชี้ไปยังออบเจ็กต์ที่กำหนดโดยแอปพลิเคชันซึ่งจะถูกส่งกลับไปยังแอปพลิเคชันทุกครั้งที่มีเหตุการณ์ API เกิดขึ้น

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

การตั้งค่าฟังก์ชั่นการเรียกกลับเหตุการณ์ API บน WeaveEchoServer วัตถุ

ปิดตัวลง

WEAVE_ERROR Shutdown(
  void
)

ปิดเริ่มต้นก่อนหน้านี้ WeaveEchoServer วัตถุ

โปรดทราบว่าวิธีการนี้เท่านั้นที่สามารถเรียกว่าถ้า Init () วิธีการได้รับการเรียกว่าก่อนหน้านี้

WeaveEchoServer

 WeaveEchoServer(
  void
)

คอนสตรัคเริ่มต้นสำหรับ WeaveEchoServer

ฟังก์ชั่นคงที่สาธารณะ Public

DefaultEventHandler

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

จัดการเริ่มต้นสำหรับ WeaveEchoServer เหตุการณ์ API

แอปพลิเคชันจำเป็นต้องเรียกใช้เมธอดนี้สำหรับเหตุการณ์ API ใดๆ ที่พวกเขาไม่รู้จักหรือจัดการ พารามิเตอร์ที่ให้มาต้องเหมือนกับพารามิเตอร์ที่ส่งผ่านโดยอ็อบเจ็กต์เซิร์ฟเวอร์ไปยังฟังก์ชันตัวจัดการเหตุการณ์ของแอปพลิเคชัน

รายละเอียด
พารามิเตอร์
[in] appState
ตัวชี้ไปยังข้อมูลสถานะที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับอ็อบเจ็กต์เซิร์ฟเวอร์
[in] eventType
รหัสเหตุการณ์ผ่านการโทรกลับเหตุการณ์ event
[in] inParam
การอ้างอิงของพารามิเตอร์เหตุการณ์อินพุตที่ส่งผ่านโดยการโทรกลับของเหตุการณ์
[in] outParam
การอ้างอิงของพารามิเตอร์เหตุการณ์เอาต์พุตที่ส่งผ่านโดยการโทรกลับของเหตุการณ์