लेन-देन की जानकारी
Matter में नोड के साथ इंटरैक्ट करते समय, इस्तेमाल के सबसे पहले उदाहरणों में से एक है, किसी दूसरे नोड से एट्रिब्यूट की रीडिंग पाना. जैसे, किसी सेंसर से तापमान की वैल्यू. ऐसे इंटरैक्शन में, सबसे पहले रीड रिक्वेस्ट ऐक्शन की ज़रूरत होती है.
अनुरोध पढ़ने की कार्रवाई
डायरेक्शन: शुरू करने वाला -> टारगेट
इस कार्रवाई में, इनिशिएटर किसी टारगेट से क्वेरी करता है, जिसमें यह जानकारी शामिल होती है:
- एट्रिब्यूट के अनुरोध: टारगेट के शून्य या उससे ज़्यादा एट्रिब्यूट की सूची. इस सूची में, टारगेट के अनुरोध किए गए एट्रिब्यूट के लिए शून्य या उससे ज़्यादा पाथ होते हैं.
- इवेंट के अनुरोध: टारगेट के अनुरोध किए गए इवेंट के लिए, शून्य या उससे ज़्यादा पाथ की सूची.
टारगेट को 'डेटा पढ़ें' अनुरोध कार्रवाई मिलने के बाद, वह अनुरोध की गई जानकारी के साथ 'डेटा रिपोर्ट करें' कार्रवाई को इकट्ठा करेगा.
डेटा ऐक्शन की शिकायत करना
डायरेक्शन: टारगेट -> शुरू करने वाला
इस कार्रवाई में, टारगेट इनके साथ जवाब देता है:
- एट्रिब्यूट रिपोर्ट: रिपोर्ट किए गए ऐसे एट्रिब्यूट की सूची जिनके लिए, 'रीड ऐक्शन' अनुरोध में अनुरोध किया गया है.
- इवेंट रिपोर्ट: रिपोर्ट किए गए शून्य या उससे ज़्यादा इवेंट की सूची.
- जवाब को छिपाएं: यह एक फ़्लैग है, जो यह तय करता है कि इस कार्रवाई के लिए स्टेटस का जवाब छिपाया जाना चाहिए या नहीं.
- सदस्यता आईडी: अगर यह रिपोर्ट, सदस्यता लेने के लेन-देन का हिस्सा है, तो इसमें एक पूर्णांक शामिल होना चाहिए. इसका इस्तेमाल, सदस्यता के लेन-देन की पहचान करने के लिए किया जाता है.
स्टेटस रिस्पॉन्स ऐक्शन
डायरेक्शन: टारगेट -> इनिशिएटर या इनिशिएटर -> टारगेट
अनुरोध करने वाले को डेटा मिलने के बाद, डिफ़ॉल्ट रूप से उसे स्थिति के जवाब के तौर पर कोई ऐक्शन जनरेट करना होगा. यह कार्रवाई, शिकायत करने वाले व्यक्ति से भेजी जाती है. इसमें, शिकायत किए गए डेटा की पुष्टि की जाती है. अगर 'स्थिति के जवाब को दबाएं' फ़्लैग सेट है, तो शुरू करने वाले को स्थिति के जवाब की कार्रवाई नहीं भेजनी चाहिए.
जब शुरू करने वाले व्यक्ति से स्टेटस रिस्पॉन्स ऐक्शन भेजा जाता है या शुरू करने वाले व्यक्ति को जवाब को छिपाने वाले फ़्लैग के साथ रिपोर्ट डेटा ऐक्शन मिलता है, तो पढ़ने/रिपोर्ट करने की क्वेरी पूरी हो जाती है.
स्टेटस रिस्पॉन्स ऐक्शन में सिर्फ़ एक status फ़ील्ड होता है. इसमें, ऑपरेशन के पूरा होने की जानकारी दी जाती है या गड़बड़ी का कोड दिखाया जाता है.
पढ़ने से जुड़ी पाबंदियां
रीड रिक्वेस्ट ऐक्शन और रिपोर्ट डेटा ऐक्शन, सिर्फ़ Unicast के लिए उपलब्ध हैं. इसके अलावा, हो सकता है कि इन अनुरोधों के पाथ, नोड के ग्रुप को टारगेट न करें.
स्टेटस के जवाब के तौर पर की जाने वाली कार्रवाई सिर्फ़ Unicast के लिए है. इसे ग्रुपकास्ट के जवाब के तौर पर जनरेट नहीं किया जा सकता.
सदस्यता से जुड़ा लेन-देन
सदस्यता लेने का अनुरोध
डायरेक्शन: शुरू करने वाला -> टारगेट
एक बार में डेटा पढ़ने का अनुरोध करने की कार्रवाई के अलावा, शुरू करने वाला व्यक्ति किसी एट्रिब्यूट या इवेंट के नियमित अपडेट की सदस्यता भी ले सकता है. इसलिए, सदस्यता लेन-देन के बाद, समय-समय पर डेटा अपडेट होने की वजह से, एक ही रिपोर्ट डेटा ऐक्शन जनरेट हो सकता है.
सदस्यता इंटरैक्शन, दो नोड के बीच एक संबंध बनाता है. इसमें, टारगेट समय-समय पर रिपोर्ट डेटा ऐक्शन को शुरू करने वाले के लिए जनरेट करता है. शुरू करने वाला व्यक्ति सदस्य होता है और टारगेट पब्लिशर होता है.
सदस्यता लेने के अनुरोध की कार्रवाई में ये शामिल हैं:
- मिनिमम इंटरवल फ़्लोर: रिपोर्ट के बीच का कम से कम इंटरवल.
- इंटरवल की ज़्यादा से ज़्यादा सीमा: रिपोर्ट के बीच का ज़्यादा से ज़्यादा इंटरवल.
- एट्रिब्यूट रिपोर्ट: 'रीड ऐक्शन' अनुरोध में, रिपोर्ट किए गए एट्रिब्यूट की सूची, जिसमें शून्य या उससे ज़्यादा एट्रिब्यूट शामिल हो सकते हैं.
- इवेंट रिपोर्ट: रिपोर्ट किए गए शून्य या उससे ज़्यादा इवेंट की सूची.
सदस्यता लेने के अनुरोध के बाद, टारगेट, डेटा रिकॉर्ड करने वाले को पहले से तैयार किया गया पब्लिश किया गया डेटा भेजता है. इसमें, रिपोर्ट किए गए डेटा का पहला बैच होता है.
इसके बाद, रिपोर्ट डेटा ऐक्शन की पुष्टि करने के लिए, शुरू करने वाला व्यक्ति टारगेट को स्टेटस रिस्पॉन्स ऐक्शन भेजता है. जब टारगेट को कोई गड़बड़ी बताने वाली स्टेटस रिस्पॉन्स ऐक्शन मिलती है, तो वह Subscribe Response Action भेजता है.
इसके बाद, टारगेट समय-समय पर, तय किए गए इंटरवल पर रिपोर्ट डेटा ऐक्शन भेजेगा. साथ ही, सदस्यता खत्म होने या रद्द होने तक, शुरू करने वाला उन ऐक्शन का जवाब देगा.
सदस्यता लेने के लिए की जाने वाली कार्रवाई
डायरेक्शन: टारगेट -> शुरू करने वाला
यह सदस्यता के ट्रांज़ैक्शन पर की जाने वाली आखिरी कार्रवाई है. इसके बाद, प्रोसेस पूरी हो जाती है. इसमें ये चीज़ें शामिल हैं:
- सदस्यता आईडी: यह एक इंटीजर है, जो सदस्यता की पहचान करता है.
- कम से कम इंटरवल: रिपोर्ट के बीच का अंतिम, तय किया गया कम से कम इंटरवल.
- ज़्यादा से ज़्यादा इंटरवल: रिपोर्ट के बीच का फ़ाइनल, तय किया गया ज़्यादा से ज़्यादा इंटरवल.
सदस्यता लेने से जुड़ी पाबंदियां
- सदस्यता के अनुरोध की कार्रवाई और सदस्यता के जवाब की कार्रवाई, सिर्फ़ Unicast के लिए उपलब्ध कार्रवाइयां हैं.
- किसी सदस्यता इंटरैक्शन में मौजूद सभी रिपोर्ट डेटा ऐक्शन का एक ही सदस्यता आईडी होना चाहिए.
- अगर सदस्य को कार्रवाई के बीच तय किए गए ज़्यादा से ज़्यादा अंतराल के अंदर, रिपोर्ट डेटा ऐक्शन नहीं मिलता है, तो सदस्यता खत्म कर दी जाएगी.
- पिछले नियम के तहत, पब्लिशर समय-समय पर रिपोर्ट डेटा ऐक्शन भेजना बंद करके, सदस्यता इंटरैक्शन को खत्म कर सकता है.
- सदस्य,
INACTIVE_SUBSCRIPTION
स्टेटस कोड के साथ डेटा ऐक्शन की शिकायत करके, सदस्यता इंटरैक्शन को खत्म कर सकता है.