nl::Weave::Profiles::DataManagement_Current::LoggingManagement

#include <src/lib/profiles/data-management/Current/LoggingManagement.h>

מחלקה לניהול יומני האירועים בזיכרון.

סיכום

בונים והורסים

LoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
LoggingManagement(void)
בנאי ברירת המחדל LoggingManagement.

תפקידים ציבוריים

BlitEvent(EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
פונקציה עוזרת לכתיבת כותרת ונתונים של אירוע בהתאם לפרוטוקול של רישום אירועים.
CancelShutdownInProgress(void)
void
מגדירים את הסימון של mShutdownInProgress כ-False.
CheckShouldRunWDM(void)
bool
אפשר לקבוע אם להוריד אירועים על סמך מספר הבייטים במאגרי הנתונים הזמניים של אירועים שלא מתוזמנים להעלאה.
FetchEventsSince(nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID)
פונקציה שמאחזרת אירועים בעלי חשיבות מסוימת מאז מזהה אירוע ספציפי.
GetBytesWritten(void) const
uint32_t
קבלת המספר הכולל של הבייטים שנכתבו (בכל החשיבות של האירועים) ליומן הזה מאז יצירתו.
GetEventReader(nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance)
שיטה שעוזרת לבדוק את מאגרי הנתונים הזמניים של היומן בזיכרון.
GetFirstEventID(ImportanceType inImportance)
מאחזרים את מזהה האירוע הראשון שמאוחסן כרגע עבור רמת חשיבות מסוימת.
GetLastEventID(ImportanceType inImportance)
מאחזרים את המזהה האחרון שהתקבל עבור רמת חשיבות מסוימת.
IsShutdownInProgress(void)
bool
בדיקת הסימון mShutdownInProgress.
IsValid(void)
bool
IsValid מחזיר אם מופע LoggingManagement חוקי.
LoadEvents(TLVReader & reader)
טעינת אירוע Weave שהיה קבוע קודם לכן.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
רישום אירוע באמצעות קריאה חוזרת (callback), עם אפשרויות.
MarkShutdownInProgress(void)
void
מגדירים את סימון mShutdownInProgress כ-true.
NotifyEventsDelivered(ImportanceType inImportance, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
void
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, NotifyExternalEventsEvictedFunct inEvictedCallback, size_t inNumEvents, event_id_t *outLastEventID)
ה-API הציבורי לרישום קבוצה של אירועים שאוחסנו באופן חיצוני.
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID)
ה-API הציבורי לרישום קבוצה של אירועים שאוחסנו באופן חיצוני.
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID)
ה-API הציבורי לרישום קבוצה של אירועים שאוחסנו באופן חיצוני.
ScheduleFlushIfNeeded(bool inFlushRequested)
מתזמנים משימה של הורדת יומן.
SerializeEvents(TLVWriter & writer)
יצירת סדרה של אירועי 'אריג' מכל סוגי החשיבות.
SetBDXUploader(LogBDXUpload *inUploader)
void
SetExchangeManager(nl::Weave::WeaveExchangeManager *inMgr)
מגדירים את WeaveExchangeManager לשימוש עם מערכת המשנה הזו לרישום ביומן.
SetLoggingEndpoint(event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition)
SkipEvent(EventLoadOutContext *aContext)
void
פונקציית עזרה שמדלגת על כתיבת אירוע שתואם למזהה האירוע שהוקצה.
ThrottleLogger(void)
void
ThrottleLogger מעלה את רמת הרישום בפועל לרמת הייצור.
UnregisterEventCallbackForImportance(ImportanceType inImportance, event_id_t inEventID)
void
ה-API הציבורי לביטול הרישום של קבוצת אירועים שאוחסנו באופן חיצוני.
UnthrottleLogger(void)
void
UnthrottleLogger משחזר את רמת הרישום האפקטיבית לרמת הרישום ביומן שהוגדרה.

פונקציות סטטיות ציבוריות

CreateLoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
void
יוצרים אובייקט LoggingManagement ומפעילים את מערכת המשנה לניהול הרישום ביומן באמצעות המשאבים שסופקו.
DestroyLoggingManagement(void)
void
יש לבצע את כל הפעולות שדרושות לנו לצורך כיבוי.
GetInstance(void)

תפקידים ציבוריים

BlitEvent

WEAVE_ERROR BlitEvent(
  EventLoadOutContext *aContext,
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

פונקציה עוזרת לכתיבת כותרת ונתונים של אירוע בהתאם לפרוטוקול של רישום אירועים.

פרטים
פרמטרים
[in,out] aContext
EventLoadOutContext, שאותחל באמצעות מידע עם שמירת מצב למאגר הנתונים הזמני. המצב מתעדכן ונשמר על ידיBitEvent באמצעות ההקשר הזה.
[in] inSchema
סכימה שמגדירה חשיבות, מזהה פרופיל וסוג מבנה של האירוע הזה.
[in] inEventWriter
הקריאה החוזרת שיש להפעיל כדי לסדר את נתוני האירוע בסדרה.
[in] inAppData
הקשר האפליקציה של הקריאה החוזרת (callback).
[in] inOptions
EventOptions שמתאר את חותמת הזמן ותגים אחרים שרלוונטיים לאירוע הזה.

CancelShutdownInProgress

void CancelShutdownInProgress(
  void
)

מגדירים את הסימון של mShutdownInProgress כ-False.

CheckShouldRunWDM

bool CheckShouldRunWDM(
  void
)

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

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

פרטים
ערכים מוחזרים
true
צריך לבטל את העומס על האירועים
false
אחרת

FetchEventsSince

WEAVE_ERROR FetchEventsSince(
  nl::Weave::TLV::TLVWriter & ioWriter,
  ImportanceType inImportance,
  event_id_t & ioEventID
)

פונקציה שמאחזרת אירועים בעלי חשיבות מסוימת מאז מזהה אירוע ספציפי.

בהינתן nl::Weave::TLV::TLVWriter, סוג חשיבות ומזהה אירוע, הפונקציה תאחזר אירועים בעלי חשיבות שצוינה מאז האירוע שצוין. הפונקציה תמשיך לאחזר אירועים עד שיאזל המקום ב-nl::Weave::TLV::TLVWriter או ביומן. הפונקציה תסיים את כתיבת האירוע בגבולות האירוע.

פרטים
פרמטרים
[in] ioWriter
הכותב שישמש לאחסון אירועים
[in] inImportance
החשיבות של אירועים לאחזור
[in,out] ioEventID
בזמן הקלט, המזהה של האירוע ממש לפני האירוע שאנחנו שולפים. בסיום, המזהה של האירוע האחרון שאוחזר.
ערכים מוחזרים
WEAVE_END_OF_TLV
הפונקציה הגיעה לסוף הרשומות הזמינות ביומן ברמת החשיבות שצוינה
WEAVE_ERROR_NO_MEMORY
נגמר המקום בפונקציה ב-ioWriter. יש אירועים נוספים ביומן.
WEAVE_ERROR_BUFFER_TOO_SMALL
נגמר המקום בפונקציה ב-ioWriter. יש אירועים נוספים ביומן.

GetBytesWritten

uint32_t GetBytesWritten(
  void
) const 

קבלת המספר הכולל של הבייטים שנכתבו (בכל החשיבות של האירועים) ליומן הזה מאז יצירתו.

פרטים
החזרות
מספר הבייטים שנכתבו ביומן.

GetEventReader

WEAVE_ERROR GetEventReader(
  nl::Weave::TLV::TLVReader & ioReader,
  ImportanceType inImportance
)

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

פרטים
פרמטרים
[in,out] ioReader
הפניה לקורא שתותחל עם האחסון לגיבוי מיומן האירועים
[in] inImportance
החשיבות הראשונית של הקורא. שימו לב שבמקרה הזה החשיבות הראשונית אינטואיטיבית במידה מסוימת נגדה: אירועים חשובים יותר חולקים את מאגרי הנתונים הזמניים עם אירועים פחות חשובים, בנוסף למאגרים הייעודיים שלהם. כתוצאה מכך, הקורא ינתח את כמות הנתונים המועטה ביותר כשהמערכת תזהה חשיבות לניפוי באגים.
החזרות
WEAVE_NO_ERROR ללא תנאי.

GetFirstEventID

event_id_t GetFirstEventID(
  ImportanceType inImportance
)

מאחזרים את מזהה האירוע הראשון שמאוחסן כרגע עבור רמת חשיבות מסוימת.

פרטים
פרמטרים
inImportance
רמת חשיבות
החזרות
event_id_t מזהה האירוע שמאוחסן כרגע בחשיבות האירוע הזה

GetLastEventID

event_id_t GetLastEventID(
  ImportanceType inImportance
)

מאחזרים את המזהה האחרון שהתקבל עבור רמת חשיבות מסוימת.

פרטים
פרמטרים
inImportance
רמת חשיבות
החזרות
event_id_t מזהה האירוע האחרון שנקבע לחשיבות האירוע הזה

IsShutdownInProgress

bool IsShutdownInProgress(
  void
)

בדיקת הסימון mShutdownInProgress.

IsValid

bool IsValid(
  void
)

IsValid מחזיר אם מופע LoggingManagement חוקי.

פרטים
ערכים מוחזרים
true
המכונה חוקית (אותחלה באמצעות החנות לגיבוי המתאימה)
false
אחרת

LoadEvents

WEAVE_ERROR LoadEvents(
  TLVReader & reader
)

טעינת אירוע Weave שהיה קבוע קודם לכן.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

רישום אירוע באמצעות קריאה חוזרת (callback), עם אפשרויות.

הפונקציה מתעדת אירוע שמיוצג כ-EventWriterFunct והקשר appData ספציפי לאפליקציה. הפונקציה כותבת את המטא-נתונים של האירוע וקוראת ל-inEventWriter עם ההפניה אל nl::Weave::TLV::TLVWriter והקשר inAppData, כדי שקוד המשתמש יוכל לפלוט את נתוני האירוע ישירות ביומן האירועים. רישום אירועים מהסוג הזה מצמצם את צריכת הזיכרון, כי נתוני האירועים מסודרים ישירות למאגר הנתונים הזמני. נתוני האירועים חייבים לכלול תגי הקשר כדי לפרש אותם בתוך הסכימה שמזוהה על ידי inProfileID ו-inEventType. המערכת תתעלם מהתג של הרכיב הראשון. מערכת רישום האירועים תחליף אותו בתג eventData.

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

וריאנט זה של ההפעלה מאפשר למתקשר להגדיר כל שילוב של EventOptions:

  • בחותמת הזמן, כאשר 0 ברירת המחדל היא השעה הנוכחית בנקודת השיחה.
  • הקטע "root" של מקור האירוע (מקור האירוע ומזהה trait), אם הערך הוא NULL, ברירת המחדל היא המכשיר הנוכחי. האירוע מסומן כקשור למכשיר שמבצע את השיחה.
  • מזהה אירוע קשור לקיבוץ מזהי אירועים. כשמזהה האירוע הקשור הוא 0, האירוע מסומן כלא קשור לאף אירוע אחר.
  • דחיפות; כברירת מחדל, לא דחופה.

פרטים
פרמטרים
[in] inSchema
סכימה שמגדירה חשיבות, מזהה פרופיל וסוג מבנה של האירוע הזה.
[in] inEventWriter
הקריאה החוזרת שיש להפעיל כדי לסדר את נתוני האירוע בפועל
[in] inAppData
הקשר האפליקציה של הקריאה החוזרת (callback).
[in] inOptions
האפשרויות לגבי המטא-נתונים של האירוע. יכול להיות NULL.
החזרות
event_id_t מזהה האירוע אם האירוע נכתב ביומן, אחרת 0.

LoggingManagement

 LoggingManagement(
  nl::Weave::WeaveExchangeManager *inMgr,
  size_t inNumBuffers,
  const LogStorageResources *const inLogStorageResources
)

בנאי LoggingManagement.

מאתחלים את LoggingManagement עם מערך של LogStorageResources. המערך צריך לספק משאב לכל רמת חשיבות חוקית, רכיבי המערך חייבים להיות בערך מספרי הולך וגדל (ובחשיבות יורדת). הרכיב הראשון במערך תואם למשאבים שהוקצו עבור האירועים הקריטיים ביותר, והרכיב האחרון תואם לאירועים הכי פחות חשובים.

פרטים
פרמטרים
[in] inMgr
WeaveExchangeManager לשימוש עם מערכת המשנה הזו לרישום ביומן
[in] inNumBuffers
מספר הרכיבים במערך inLogStorageResources
[in] inLogStorageResources
מערך של LogStorageResources לכל רמת חשיבות.

LoggingManagement

 LoggingManagement(
  void
)

בנאי ברירת המחדל LoggingManagement.

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

פרטים
החזרות

MarkShutdownInProgress

void MarkShutdownInProgress(
  void
)

מגדירים את סימון mShutdownInProgress כ-true.

NotifyEventsDelivered

void NotifyEventsDelivered(
  ImportanceType inImportance,
  event_id_t inLastDeliveredEventID,
  uint64_t inRecipientNodeID
)

RegisterEventCallbackForImportance

WEAVE_ERROR RegisterEventCallbackForImportance(
  ImportanceType inImportance,
  FetchExternalEventsFunct inFetchCallback,
  NotifyExternalEventsDeliveredFunct inNotifyCallback,
  NotifyExternalEventsEvictedFunct inEvictedCallback,
  size_t inNumEvents,
  event_id_t *outLastEventID
)

ה-API הציבורי לרישום קבוצה של אירועים שאוחסנו באופן חיצוני.

רישום קריאה חוזרת (callback) בטופס FetchExternalEventsFunct. כדי להשתמש ב-API הזה, הפלטפורמה צריכה לדעת את מספר האירועים בהרשמה. גם אופן הפעולה הפנימי מחייבים שהמספר הזה יהיה קבוע. ה-API הזה לא מאפשר לפלטפורמה לרשום מזהים של אירועים ספציפיים, ולכן הפלטפורמה לא יכולה להמשיך לשמור אירועים (לפחות עם מזהי אירועים ייחודיים).

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

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

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

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

המצביע אל המבנה ExternalEvents יסווג כ-NULL במקרה של כשל, אחרת יאוכלסו בו מזהי אירועים של התחלה וסיום שהוקצו לקריאה החוזרת (callback). יש להשתמש במצביע הזה כדי לבטל את הרישום של קבוצת האירועים.

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

פרטים
פרמטרים
[in] inImportance
רמת חשיבות
[in] inFetchCallback
קריאה חוזרת (callback) להרשמה כדי לאחזר אירועים חיצוניים
[in] inNotifyCallback
התקשרות חזרה להרשמה לקבלת התראה על מסירה
[in] inEvictedCallback
קריאה חוזרת (callback) להרשמה להתראה על פינוי
[in] inNumEvents
מספר האירועים בקבוצה הזו
[out] outLastEventID
מצביעים על event_id_t. אחרי שרישום מוצלח של אירועים חיצוניים, הפונקציה תאחסן את מזהה האירוע שתואם למזהה האירוע האחרון של בלוק האירועים החיצוני. הפרמטר יכול להיות NULL.
ערכים מוחזרים
WEAVE_ERROR_NO_MEMORY
אם אין משבצות נוספות להתקשרות חזרה.
WEAVE_ERROR_INVALID_ARGUMENT
אין קריאה חוזרת לפונקציה או שאין אירועים לרישום.
WEAVE_NO_ERROR
בהצלחה.

RegisterEventCallbackForImportance

WEAVE_ERROR RegisterEventCallbackForImportance(
  ImportanceType inImportance,
  FetchExternalEventsFunct inFetchCallback,
  NotifyExternalEventsDeliveredFunct inNotifyCallback,
  size_t inNumEvents,
  event_id_t *outLastEventID
)

ה-API הציבורי לרישום קבוצה של אירועים שאוחסנו באופן חיצוני.

רישום קריאה חוזרת (callback) בטופס FetchExternalEventsFunct. כדי להשתמש ב-API הזה, הפלטפורמה צריכה לדעת את מספר האירועים בהרשמה. גם אופן הפעולה הפנימי מחייבים שהמספר הזה יהיה קבוע. ה-API הזה לא מאפשר לפלטפורמה לרשום מזהים של אירועים ספציפיים, ולכן הפלטפורמה לא יכולה להמשיך לשמור אירועים (לפחות עם מזהי אירועים ייחודיים).

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

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

המצביע אל המבנה ExternalEvents יסווג כ-NULL במקרה של כשל, אחרת יאוכלסו בו מזהי אירועים של התחלה וסיום שהוקצו לקריאה החוזרת (callback). יש להשתמש במצביע הזה כדי לבטל את הרישום של קבוצת האירועים.

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

פרטים
פרמטרים
[in] inImportance
רמת חשיבות
[in] inCallback
קריאה חוזרת (callback) להרשמה כדי לאחזר אירועים חיצוניים
[in] inNotifyCallback
התקשרות חזרה להרשמה לקבלת התראה על מסירה
[in] inNumEvents
מספר האירועים בקבוצה הזו
[out] outLastEventID
מצביעים על event_id_t. אחרי שרישום מוצלח של אירועים חיצוניים, הפונקציה תאחסן את מזהה האירוע שתואם למזהה האירוע האחרון של בלוק האירועים החיצוני. הפרמטר יכול להיות NULL.
ערכים מוחזרים
WEAVE_ERROR_NO_MEMORY
אם אין משבצות נוספות להתקשרות חזרה.
WEAVE_ERROR_INVALID_ARGUMENT
אין קריאה חוזרת לפונקציה או שאין אירועים לרישום.
WEAVE_NO_ERROR
בהצלחה.

RegisterEventCallbackForImportance

WEAVE_ERROR RegisterEventCallbackForImportance(
  ImportanceType inImportance,
  FetchExternalEventsFunct inFetchCallback,
  size_t inNumEvents,
  event_id_t *outLastEventID
)

ה-API הציבורי לרישום קבוצה של אירועים שאוחסנו באופן חיצוני.

רישום קריאה חוזרת (callback) בטופס FetchExternalEventsFunct. כדי להשתמש ב-API הזה, הפלטפורמה צריכה לדעת את מספר האירועים בהרשמה. גם אופן הפעולה הפנימי מחייבים שהמספר הזה יהיה קבוע. ה-API הזה לא מאפשר לפלטפורמה לרשום מזהים של אירועים ספציפיים, ולכן הפלטפורמה לא יכולה להמשיך לשמור אירועים (לפחות עם מזהי אירועים ייחודיים).

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

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

המצביע אל המבנה ExternalEvents יסווג כ-NULL במקרה של כשל, אחרת יאוכלסו בו מזהי אירועים של התחלה וסיום שהוקצו לקריאה החוזרת (callback). יש להשתמש במצביע הזה כדי לבטל את הרישום של קבוצת האירועים.

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

פרטים
פרמטרים
[in] inImportance
רמת חשיבות
[in] inCallback
קריאה חוזרת (callback) להרשמה כדי לאחזר אירועים חיצוניים
[in] inNumEvents
מספר האירועים בקבוצה הזו
[out] outLastEventID
מצביעים על event_id_t. אחרי שרישום מוצלח של אירועים חיצוניים, הפונקציה תאחסן את מזהה האירוע שתואם למזהה האירוע האחרון של בלוק האירועים החיצוני. הפרמטר יכול להיות NULL.
ערכים מוחזרים
WEAVE_ERROR_NO_MEMORY
אם אין משבצות נוספות להתקשרות חזרה.
WEAVE_ERROR_INVALID_ARGUMENT
אין קריאה חוזרת לפונקציה או שאין אירועים לרישום.
WEAVE_NO_ERROR
בהצלחה.

ScheduleFlushIfNeeded

WEAVE_ERROR ScheduleFlushIfNeeded(
  bool inFlushRequested
)

מתזמנים משימה של הורדת יומן.

הפונקציה מחליטה אם לתזמן תהליך הסרה של משימה, ואם כן, היא מתזמנת את ההפעלה של LoggingFlushHandler באופן אסינכרוני ב-thread Weave.

ההחלטה לתזמן ניקוי חשבון תלויה בשלושה גורמים:

בקשה מפורשת לרוקן את המאגר

המצב של מאגר האירועים וכמות הנתונים שעדיין לא סונכרנו עם צרכני האירוע

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

הבקשה המפורשת לתזמון ה-Fink מועברת באמצעות פרמטר קלט.

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

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

פרטים
פרמטרים
inRequestFlush
ערך בוליאני שמציין אם יש לתזמן את פעולת הניקוי ללא קשר למדיניות הפנימית של מאגר הנתונים הזמני.
ערכים מוחזרים
WEAVE_ERROR_INCORRECT_STATE
המודול LoggingManagement לא אותחל באופן מלא.
WEAVE_NO_ERROR
בהצלחה.

SerializeEvents

WEAVE_ERROR SerializeEvents(
  TLVWriter & writer
)

יצירת סדרה של אירועי 'אריג' מכל סוגי החשיבות.

מסדר את האירועים ב-WeaveCircularTLVBuffer ואת המצבים המשויכים למאגר הזמני.

שיטה זו מיועדת לשימוש במכשירים שלא שומרים RAM בזמן שינה, כדי לאפשר להם לשמור אירועים לפני המעבר למצב שינה וכך למנוע אובדן של אירועים

SetBDXUploader

void SetBDXUploader(
  LogBDXUpload *inUploader
)

SetExchangeManager

WEAVE_ERROR SetExchangeManager(
  nl::Weave::WeaveExchangeManager *inMgr
)

מגדירים את WeaveExchangeManager לשימוש עם מערכת המשנה הזו לרישום ביומן.

בפלטפורמות מסוימות, ייתכן שהדבר יצטרך להתרחש בנפרד מהפונקציה CreateLoggingManagement() שלמעלה.

פרטים
פרמטרים
[in] inMgr
WeaveExchangeManager לשימוש עם מערכת המשנה הזו לרישום ביומן

SetLoggingEndpoint

WEAVE_ERROR SetLoggingEndpoint(
  event_id_t *inEventEndpoints,
  size_t inNumImportanceLevels,
  size_t & outLoggingPosition
)

SkipEvent

void SkipEvent(
  EventLoadOutContext *aContext
)

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

פרטים
פרמטרים
[in,out] aContext
EventLoadOutContext, שאותחל באמצעות מידע עם שמירת מצב למאגר הנתונים הזמני. המצב מתעדכן ונשמר על ידיBitEvent באמצעות ההקשר הזה.

ThrottleLogger

void ThrottleLogger(
  void
)

ThrottleLogger מעלה את רמת הרישום בפועל לרמת הייצור.

UnregisterEventCallbackForImportance

void UnregisterEventCallbackForImportance(
  ImportanceType inImportance,
  event_id_t inEventID
)

ה-API הציבורי לביטול הרישום של קבוצת אירועים שאוחסנו באופן חיצוני.

ביטול הרישום של הקריאה החוזרת (callback) ימנע מ-LoggingManagement לבצע את הקריאה החוזרת (callback) עבור קבוצת אירועים. LoggingManagement לא ישלח יותר את מזהי האירועים האלה למנויים.

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

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

פרטים
פרמטרים
[in] inImportance
רמת חשיבות
[in] inEventID
מזהה אירוע שתואם לאחד מהאירועים בבלוק האירועים החיצוני שיש לבטל את הרישום שלו.

UnthrottleLogger

void UnthrottleLogger(
  void
)

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

פונקציות סטטיות ציבוריות

CreateLoggingManagement

void CreateLoggingManagement(
  nl::Weave::WeaveExchangeManager *inMgr,
  size_t inNumBuffers,
  const LogStorageResources *const inLogStorageResources
)

יוצרים אובייקט LoggingManagement ומפעילים את מערכת המשנה לניהול הרישום ביומן באמצעות המשאבים שסופקו.

מאתחלים את LoggingManagement עם מערך של LogStorageResources. המערך צריך לספק משאב לכל רמת חשיבות חוקית, רכיבי המערך חייבים להיות בערך מספרי הולך וגדל (ובחשיבות יורדת). הרכיב הראשון במערך תואם למשאבים שהוקצו עבור האירועים הקריטיים ביותר, והרכיב האחרון תואם לאירועים הכי פחות חשובים.

פרטים
פרמטרים
[in] inMgr
WeaveExchangeManager לשימוש עם מערכת המשנה הזו לרישום ביומן
[in] inNumBuffers
מספר הרכיבים במערך inLogStorageResources
[in] inLogStorageResources
מערך של LogStorageResources לכל רמת חשיבות.

DestroyLoggingManagement

void DestroyLoggingManagement(
  void
)

יש לבצע את כל הפעולות שדרושות לנו לצורך כיבוי.

GetInstance

LoggingManagement & GetInstance(
  void
)