อ่านธุรกรรม

อ่านธุรกรรม

หนึ่งในกรณีการใช้งานแรกๆ เมื่อโต้ตอบกับโหนดใน Matter คือการอ่านแอตทริบิวต์จากโหนดอื่น เช่น ค่าอุณหภูมิจากเซ็นเซอร์ ในการโต้ตอบดังกล่าว การดำเนินการแรกที่ต้องทำคือ "คำขออ่าน"

ลำดับการดำเนินการของ Read Transaction
ภาพที่ 1: อ่านธุรกรรม

การดำเนินการส่งคำขออ่าน

ทิศทาง: ตัวเริ่มต้น -> เป้าหมาย

ในการดำเนินการนี้ ผู้เริ่มต้นจะค้นหาเป้าหมายที่ระบุสิ่งต่อไปนี้

  • คำขอแอตทริบิวต์: รายการแอตทริบิวต์ของเป้าหมาย 0 รายการขึ้นไป รายการนี้ประกอบด้วยเส้นทางตั้งแต่ 0 เส้นทางขึ้นไปที่แอตทริบิวต์ที่ขอของเป้าหมาย
  • คำขอเหตุการณ์: รายการเส้นทางตั้งแต่ 0 รายการขึ้นไปไปยังเหตุการณ์ที่ขอของเป้าหมาย

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

การดำเนินการกับข้อมูลรายงาน

ทิศทาง: เป้าหมาย -> ตัวเริ่มต้น

ในการดำเนินการนี้ เป้าหมายจะตอบสนองด้วย:

  • รายงานแอตทริบิวต์: รายการแอตทริบิวต์ที่รายงานตั้งแต่ 0 รายการขึ้นไปที่ขอในคำขอดำเนินการอ่าน
  • รายงานเหตุการณ์: รายการเหตุการณ์ที่รายงาน 0 รายการหรือมากกว่านั้น
  • ระงับการตอบกลับ: แฟล็กที่ระบุว่าควรระงับการตอบกลับสถานะสำหรับการดำเนินการนี้หรือไม่
  • รหัสการสมัครใช้บริการ: หากรายงานนี้เป็นส่วนหนึ่งของธุรกรรมการสมัครใช้บริการ รายงานต้องมีจำนวนเต็มที่ใช้ระบุธุรกรรมการสมัครใช้บริการ

การดำเนินการตอบกลับสถานะ

ทิศทาง: เป้าหมาย -> ผู้เริ่มต้น หรือ ผู้เริ่มต้น -> เป้าหมาย

เมื่อผู้เริ่มต้นได้รับข้อมูลที่ขอแล้ว ตัวเริ่มต้นจะต้องสร้างการดำเนินการตอบกลับสถานะโดยค่าเริ่มต้น ผู้เริ่มจะส่งการดำเนินการนี้เพื่อรับทราบข้อมูลที่รายงาน หากมีการตั้งค่าแฟล็กระงับสถานะการตอบกลับ ตัวเริ่มต้นต้องไม่ส่งการดำเนินการตอบกลับสถานะ

เมื่อผู้เริ่มส่งการดำเนินการตอบกลับสถานะ หรือผู้เริ่มได้รับการทำงานของข้อมูลรายงานที่เปิดใช้การตั้งค่าสถานะการตอบกลับสถานะ การค้นหาอ่าน/รายงานก็จะเสร็จสิ้น

การดำเนินการตอบกลับสถานะจะมีช่อง status ที่จะยืนยันว่าการดำเนินการประสบความสำเร็จหรือแสดงโค้ดความล้มเหลว

อ่านข้อจำกัด

การดำเนินการขออ่านและการจัดการข้อมูลรายงานจะใช้ได้เฉพาะ Unicast เท่านั้น นอกจากนี้ เส้นทางของคำขอเหล่านี้ไม่สามารถกำหนดเป้าหมายกลุ่มโหนดได้

การดำเนินการตอบกลับสถานะเป็นแบบ Unicast เท่านั้น และไม่สามารถสร้างเป็นการตอบสนองไปยัง Groupcast ได้

ธุรกรรมการสมัครใช้บริการ

ลำดับการดำเนินการของธุรกรรมการสมัครใช้บริการ
ภาพที่ 2: ธุรกรรมการสมัครใช้บริการ

การดำเนินการขอสมัครใช้บริการ

ทิศทาง: ตัวเริ่มต้น -> เป้าหมาย

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

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

การดำเนินการคำขอติดตามประกอบด้วยข้อมูลต่อไปนี้

  • ราคาพื้นของช่วงต่ำสุด: ช่วงเวลาต่ำสุดระหว่างรายงาน
  • เพดานช่วงสูงสุด: ช่วงเวลาสูงสุดระหว่างรายงาน
  • รายงานแอตทริบิวต์: รายการแอตทริบิวต์ที่รายงานตั้งแต่ 0 รายการขึ้นไปที่ขอในคำขอดำเนินการอ่าน
  • รายงานเหตุการณ์: รายการเหตุการณ์ที่รายงาน 0 รายการหรือมากกว่านั้น

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

จากนั้นตัวเริ่มต้นรับทราบการดำเนินการกับข้อมูลรายงาน โดยมีการดำเนินการตอบกลับสถานะที่ส่งไปยังเป้าหมาย เมื่อเป้าหมายได้รับการรายงานการดำเนินการตอบกลับสถานะ ว่าไม่มีข้อผิดพลาด ก็จะส่งการดำเนินการตอบกลับการติดตาม

จากนั้น Target จะส่งการดำเนินการข้อมูลรายงานเป็นระยะๆ ในช่วงเวลาที่มีการต่อรอง และผู้เริ่มต้นจะตอบกลับการดำเนินการเหล่านั้นจนกว่าการสมัครใช้บริการจะสูญหายหรือถูกยกเลิก

การดำเนินการตอบกลับเกี่ยวกับการติดตาม

ทิศทาง: เป้าหมาย -> ตัวเริ่มต้น

ซึ่งเป็นการดำเนินการสุดท้ายในธุรกรรมการสมัครใช้บริการและสรุปกระบวนการ แอปประกอบด้วย

  • รหัสการสมัครใช้บริการ: จำนวนเต็มที่ระบุการสมัครใช้บริการ
  • ช่วงเวลาต่ำสุด: ช่วงเวลาต่ำสุดสุดท้ายที่กำหนดระหว่างรายงาน
  • ช่วงเวลาสูงสุด: ช่วงเวลาสุดท้ายที่กำหนดระหว่างรายงาน

การจำกัดการติดตาม

  • การดำเนินการคำขอติดตามและการดำเนินการตอบกลับการติดตามเป็นการดำเนินการ Unicast เท่านั้น
  • การดำเนินการกับข้อมูลรายงานทั้งหมดในการโต้ตอบของการสมัครใช้บริการต้องมีรหัสการสมัครใช้บริการเดียวกัน
  • หากสมาชิกไม่ได้รับการดำเนินการเกี่ยวกับข้อมูลรายงานภายในช่วงเวลาที่มีการต่อรองสูงสุดระหว่างการดำเนินการต่างๆ การสมัครใช้บริการจะสิ้นสุดลง
  • เนื่องจากกฎก่อนหน้านี้ ผู้เผยแพร่โฆษณาสามารถยุติการโต้ตอบของการสมัครรับข้อมูลได้ง่ายๆ ด้วยการหยุดส่งข้อมูลรายงานเป็นระยะๆ
  • สมาชิกสามารถสิ้นสุดการโต้ตอบของการสมัครใช้บริการได้ด้วยการตอบกลับการดำเนินการข้อมูลรายงานด้วยรหัสสถานะ INACTIVE_SUBSCRIPTION