قراءة المعاملة
من أولى حالات الاستخدام عند التفاعل مع العُقد في Matter هي قراءة سمة من عُقدة أخرى، مثل قيمة درجة الحرارة من جهاز استشعار. في عمليات التفاعل هذه، يجب تنفيذ الإجراء "طلب القراءة" أولاً.
الإجراء "طلب القراءة"
الاتجاه: المُرسِل -> العُقدة المستهدَفة
في هذا الإجراء، يطلب المُرسِل بيانات من العُقدة المستهدَفة، مع تقديم ما يلي:
- طلبات السمات: قائمة تتضمّن صفرًا أو أكثر من سمات العُقدة المستهدَفة. تتألّف هذه القائمة من صفر أو أكثر من مسارات السمات المطلوبة للعُقدة المستهدَفة.
- طلبات الأحداث: قائمة تتضمّن صفرًا أو أكثر من مسارات الأحداث المطلوبة للعُقدة المستهدَفة.
بعد أن تتلقّى العُقدة المستهدَفة الإجراء "طلب القراءة"، ستُنشئ الإجراء "بيانات التقرير" الذي يتضمّن المعلومات المطلوبة.
الإجراء "بيانات التقرير"
الاتجاه: العُقدة المستهدَفة -> المُرسِل
في هذا الإجراء، تردّ العُقدة المستهدَفة بما يلي:
- تقارير السمات: قائمة تتضمّن صفرًا أو أكثر من السمات التي تم الإبلاغ عنها والمطلوبة في الإجراء "طلب القراءة".
- تقارير الأحداث: قائمة تتضمّن صفرًا أو أكثر من الأحداث التي تم الإبلاغ عنها.
- إخفاء الردّ: علامة تحدّد ما إذا كان يجب إخفاء ردّ الحالة على هذا الإجراء.
- رقم تعريف الاشتراك: إذا كان هذا التقرير جزءًا من معاملة اشتراك، يجب أن يتضمّن عددًا صحيحًا يُستخدَم لتحديد معاملة الاشتراك.
الإجراء "ردّ الحالة"
الاتجاه: إما العُقدة المستهدَفة -> المُرسِل أو المُرسِل -> العُقدة المستهدَفة
بعد أن يتلقّى المُرسِل البيانات المطلوبة، يجب أن يُنشئ تلقائيًا الإجراء "ردّ الحالة". يتم إرسال هذا الإجراء من المُرسِل، ما يؤكّد استلام البيانات التي تم الإبلاغ عنها. إذا تم ضبط العلامة "إخفاء ردّ الحالة"، يجب ألا يرسل المُرسِل الإجراء "ردّ الحالة".
بعد أن يرسل المُرسِل الإجراء "ردّ الحالة"، أو بعد أن يتلقّى المُرسِل الإجراء "بيانات التقرير" مع تفعيل العلامة "إخفاء الردّ"، يتم الانتهاء من طلب القراءة/التقرير.
يحتوي الإجراء "ردّ الحالة" ببساطة على حقل الحالة الذي سيؤكّد نجاح العملية أو يعرض رمز خطأ.
قيود القراءة
الإجراءان "طلب القراءة" و"بيانات التقرير" هما إجراءان Unicast-فقط. بالإضافة إلى ذلك، قد لا تستهدف مسارات هذه الطلبات مجموعة من العُقد.
الإجراء "ردّ الحالة" هو إجراء Unicast-فقط ولا يمكن إنشاؤه كردّ على عملية إرسال إلى مجموعة.
معاملة الاشتراك
الإجراء "طلب الاشتراك"
الاتجاه: المُرسِل -> العُقدة المستهدَفة
بالإضافة إلى الإجراء "طلب القراءة" الفردي، يمكن للمُرسِل أيضًا الاشتراك في تحديثات دورية لسمة أو حدث. وبالتالي، يمكن إنشاء الإجراء "بيانات التقرير" نفسه نتيجةً لتحديثات البيانات الدورية التي تتبع معاملة الاشتراك.
ينشئ تفاعل الاشتراك علاقة بين عُقدتين، حيث تُنشئ العُقدة المستهدَفة بشكل دوري الإجراء "بيانات التقرير" للمُرسِل. المُرسِل هو المشترِك والعُقدة المستهدَفة هي الناشر.
يحتوي الإجراء "طلب الاشتراك" على ما يلي:
- الحدّ الأدنى للفاصل الزمني: الحدّ الأدنى للفاصل الزمني بين التقارير.
- الحدّ الأقصى للفاصل الزمني: الحدّ الأقصى للفاصل الزمني بين التقارير.
- تقارير السمات: قائمة تتضمّن صفرًا أو أكثر من السمات التي تم الإبلاغ عنها والمطلوبة في الإجراء "طلب القراءة".
- تقارير الأحداث: قائمة تتضمّن صفرًا أو أكثر من الأحداث التي تم الإبلاغ عنها.
بعد الإجراء "طلب الاشتراك"، تردّ العُقدة المستهدَفة على المُرسِل بالإجراء "بيانات التقرير" الذي يتضمّن الدفعة الأولى من البيانات التي تم الإبلاغ عنها: البيانات المنشورة الأولية.
بعد ذلك، يؤكّد المُرسِل الإجراء "بيانات التقرير" من خلال الإجراء "ردّ الحالة" الذي يتم إرساله إلى العُقدة المستهدَفة. بعد أن تتلقّى العُقدة المستهدَفة الإجراء "ردّ الحالة" الذي لا يشير إلى أي أخطاء، فإنّها ترسل الإجراء "ردّ الاشتراك".
سترسل العُقدة المستهدَفة بعد ذلك الإجراء "بيانات التقرير" بشكل دوري في الفاصل الزمني المتفق عليه، وسيردّ المُرسِل على هذه الإجراءات إلى أن يتم فقدان الاشتراك أو إلغاؤه.
الإجراء "ردّ الاشتراك"
الاتجاه: العُقدة المستهدَفة -> المُرسِل
هذا هو الإجراء الأخير في معاملة الاشتراك ويُنهي العملية. ويشمل ذلك:
- رقم تعريف الاشتراك: عدد صحيح يحدّد الاشتراك.
- الحدّ الأدنى للفاصل الزمني: الحدّ الأدنى النهائي و المحدّد للفاصل الزمني بين التقارير.
- الحدّ الأقصى للفاصل الزمني: الحدّ الأقصى النهائي و المحدّد للفاصل الزمني بين التقارير.
قيود الاشتراك
- الإجراءان "طلب الاشتراك" و"ردّ الاشتراك" هما Unicast-فقط.
- يجب أن يكون لجميع الإجراءات "بيانات التقرير" في تفاعل الاشتراك رقم تعريف الاشتراك نفسه.
- إذا لم يتلقَّ المشترِك الإجراء "بيانات التقرير" خلال الحدّ الأقصى للفاصل الزمني المتفق عليه بين الإجراءات، سيتم إنهاء الاشتراك.
- نتيجةً للقاعدة السابقة، يمكن للناشر إنهاء تفاعل الاشتراك من خلال التوقّف ببساطة عن إرسال الإجراءات "بيانات التقرير" الدورية.
- يمكن للمشترِك إنهاء تفاعل الاشتراك من خلال الردّ على الإجراء "بيانات التقرير" باستخدام رمز الحالة
INACTIVE_SUBSCRIPTION.