עסקאות שנקראו

קריאת העסקה

אחד התרחישים לדוגמה הראשונים באינטראקציה עם צמתים ב-Matter הוא קריאה של מאפיין מצומת אחר, כמו ערך טמפרטורה מחיישן. באינטראקציות כאלה, הפעולה הראשונה שצריך לבצע היא 'פעולת בקשה לקריאה'.

רצף פעולות של טרנזקציית קריאה
איור 1: קריאת העסקה

קריאה של פעולת הבקשה

כיוון: יוזם -> יעד

בפעולה זו, היוזם שאילתות ליעד שמספק:

  • בקשות למאפיינים: רשימה הכוללת אפס מאפייני היעד או יותר. הרשימה הזו מורכבת מאפס נתיבים או יותר למאפיינים המבוקשים של היעד.
  • בקשות לאירועים: רשימה של אפס נתיבים או יותר אל האירועים שרלוונטיים ליעד.

אחרי שהיעד מקבל את פעולת הקריאה, הוא ירכיב פעולת דיווח על נתונים עם המידע המבוקש.

פעולה לגבי נתוני דיווח

כיוון: יעד -> יוזם

בפעולה הזו, היעד משיב:

  • דוחות מאפיינים: רשימה שכוללת או יותר מהמאפיינים המדווחים המבוקשים בבקשת הקריאה.
  • דוחות אירועים: רשימה של אפס אירועים מדווחים או יותר.
  • Suppress Response: סימון שקובע אם יש להסתיר את תגובת הסטטוס לפעולה הזו.
  • Subscription ID: אם הדוח הזה הוא חלק מעסקת הרשמה, הוא צריך לכלול מספר שלם שמשמש לזיהוי העסקה של המינוי.

פעולת תגובה לסטטוס

כיוון: יעד -> מאתחל או מאתחל -> יעד

ברגע שהיזום מקבל את הנתונים המבוקשים, כברירת מחדל הוא חייב ליצור פעולת תגובת סטטוס. הפעולה הזו נשלחת מהיזום, כשהיא מאשרת את קבלת הנתונים שדווחו. אם מוגדר הסימון Suppress Status Response, למפעיל אסור לשלוח את הפעולה Status Response.

לאחר שפעולת תגובת הסטטוס נשלחת על ידי הגורם היוזם, או שפעולה מתקבלת על ידי הגורם היוזם כשהדגל 'דחיית תגובה' מופעל, שאילתת הקריאה/דיווח הושלמה.

פעולת התגובה לסטטוס כוללת את השדה status (סטטוס) שמאשר את הצלחת הפעולה או מציג קוד כשל.

לקריאת ההגבלות

הפעולות מסוג 'בקשת קריאה' ו'נתוני דיווח' זמינות ל-Unicast בלבד. בנוסף, ייתכן שהנתיבים של הבקשות האלה לא יטרגטו קבוצה של צמתים.

פעולת תגובת הסטטוס היא Unicast בלבד ולא ניתן ליצור אותה כתגובה ל-groupcast.

עסקת מינוי

רצף הפעולות של עסקת מינוי
איור 2: עסקת מינוי

פעולה לבקשת הרשמה

כיוון: יוזם -> יעד

בנוסף לפעולת קריאה יחידה (Read Request Action), מי שיזם את הקריאה יכול להירשם גם לקבלת עדכונים תקופתיים לגבי מאפיין או אירוע. כתוצאה מכך, יכולה להתבצע אותה פעולה על נתוני דוחות כתוצאה מעדכוני נתונים תקופתיים שמתבצעים אחרי עסקת מינוי.

אינטראקציה עם מינוי יוצרת קשר בין שני צמתים, שבו היעד יוצר מדי פעם פעולות על נתוני דוחות ליוזם הגישה. היוזם הוא המנוי והמטרה היא בעל האתר.

פעולת בקשת הרשמה כוללת:

  • סף מרווח מינימלי: המרווח המינימלי בין דוחות.
  • תקרת מרווח מקסימלי: המרווח המקסימלי בין דוחות.
  • דוחות מאפיינים: רשימה של אפס או יותר מהמאפיינים המדווחים שנדרשו בבקשת הקריאה.
  • דוחות אירועים: רשימה של אפס אירועים מדווחים או יותר.

לאחר בקשת ההרשמה, היעד מגיב ליוזם הפעולה עם פעולת נתוני דוח שמכילה את אצוות הנתונים הראשונה המדווחים: הנתונים שפורסמו ב-Primed.

בהמשך, היוזם מאשר שהפעולה של נתוני הדיווח נשלחת ליעד באמצעות פעולת תגובה לסטטוס. ברגע שהיעד מקבל פעולת תגובה לסטטוס שמדווחת שאין שגיאות, הוא שולח פעולת הרשמה לתגובה.

לאחר מכן, היעד ישלח מדי פעם פעולות על נתוני דוחות בפרק הזמן המוסכם, והיזום יגיב לפעולות האלה עד שהמינוי יאבד או יבוטל.

פעולת 'הרשמה' לתגובה

כיוון: יעד -> יוזם

זוהי הפעולה האחרונה בעסקת המינוי, והיא מסיימת את התהליך. היא כוללת:

  • מזהה מינוי: מספר שלם שמזהה את המינוי.
  • מרווח מינימלי: המרווח המינימלי הסופי, הנקבע בין הדוחות.
  • Max Interval: המרווח המקסימלי הסופי והנקבע בין הדוחות.

הגבלות על הרשמה

  • הפעולה 'בקשת הרשמה' ו'פעולת הרשמה' הן Unicast פעולות בלבד.
  • לכל פעולות נתוני הדוחות באינטראקציה של מינוי חייב להיות אותו מזהה מינוי.
  • אם המנוי לא יקבל את הפעולה של נתוני הדיווח בטווח הזמן המקסימלי בין הפעולות, המינוי יסתיים.
  • כתוצאה מהכלל הקודם, בעל האתר רשאי לסיים אינטראקציה עם מינוי פשוט על ידי הפסקת השליחה התקופתית של פעולות נתוני דוחות.
  • המנוי רשאי לסיים את האינטראקציה עם המינוי על ידי שליחת תגובה ל'פעולת דיווח' עם קוד סטטוס INACTIVE_SUBSCRIPTION.