nl:: Weave:: Profiles:: DataManagement_Current:: UpdateEncoder
#include <src/lib/profiles/data-management/Current/UpdateEncoder.h>
האובייקט הזה מקודד מטענים ייעודיים (payloads) מסוג UpdateRequest ו-PartialUpdateRequest מסוג WDM.
סיכום
שימו לב שלשתי הבקשות יש פורמט זהה. ההבדל ביניהם רק לפי סוג ההודעה, שנמצא מחוץ להיקף של האובייקט הזה.
הקידוד מתבצע באופן סינכרוני באמצעות ה-method EncodeRequest. השיטה הציבורית היחידה הנוספת היא InsertInProgressUpdateItem, ונקראים על ידי Schema Engine כשהוא צריך להעביר מילון בחזרה לתור.
בנייה |
|
---|---|
UpdateEncoder()
|
|
~UpdateEncoder()
|
פונקציות ציבוריות |
|
---|---|
EncodeRequest(Context & aContext)
|
מקודדים מטען ייעודי (payload) של בקשת עדכון WDM.
|
InsertInProgressUpdateItem(const TraitPath & aItem)
|
מוסיפים נתיב פרטי לרשימת הנתיבים שמתבצעים, ומוסיפים אותו אחרי הנתיבים שמקודדים באותו רגע.
|
מבנים |
|
---|---|
nl:: |
המבנה הזה מכיל את ארגומנטים מסוג קלט/פלט (I/O) של שיטת EncodeRequest. |
פונקציות ציבוריות
EncodeRequest
WEAVE_ERROR EncodeRequest( Context & aContext )
מקודדים מטען ייעודי (payload) של בקשת עדכון WDM.
פרטים נוספים זמינים בקטע UpdateEncoder::Context. אורך הנתונים של PacketBuffer מתעדכן רק במקרה של הצלחה, אבל התוכן של מאגר הנתונים הזמני לא נשמר.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
מוחזר ערכים |
|
InsertInProgressUpdateItem
WEAVE_ERROR InsertInProgressUpdateItem( const TraitPath & aItem )
מוסיפים נתיב פרטי לרשימת הנתיבים שמתבצעים, ומוסיפים אותו אחרי הנתיבים שמקודדים באותו רגע.
לשיטה הזו אמורה להתבצע קריאה על ידי SchemaEngine מפני שהיא חוצה את עץ הסכימה וצריך לדחוף מילונים חזרה לרשימה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
מוחזר ערכים |
|
UpdateEncoder
UpdateEncoder()
~UpdateEncoder
~UpdateEncoder()