Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: DataManagement_Current :: LoggingManagement

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

Một lớp để quản lý các bản ghi sự kiện trong bộ nhớ.

Tóm lược

Người xây dựng và Người phá hủy

LoggingManagement ( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
LoggingManagement (void)
Hàm tạo mặc định LoggingManagement .

Chức năng công cộng

BlitEvent ( EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Chức năng trợ giúp để ghi tiêu đề sự kiện và dữ liệu theo giao thức ghi sự kiện.
CancelShutdownInProgress (void)
void
Đặt cờ mShutdownInProgress thành false.
CheckShouldRunWDM (void)
bool
Quyết định xem có giảm tải sự kiện hay không dựa trên số byte trong bộ đệm sự kiện mà không cần lên lịch để tải lên.
FetchEventsSince (nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID)
Một chức năng để truy xuất các sự kiện có tầm quan trọng được chỉ định kể từ một ID sự kiện được chỉ định.
GetBytesWritten (void) const
uint32_t
Nhận tổng số byte được ghi (trên tất cả các lần nhập sự kiện) vào nhật ký này kể từ khi khởi tạo.
GetEventReader (nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance)
Một phương pháp trợ giúp hữu ích để kiểm tra bộ đệm nhật ký trong bộ nhớ.
GetFirstEventID ( ImportanceType inImportance)
Tìm nạp ID sự kiện đầu tiên hiện được lưu trữ cho một mức độ quan trọng cụ thể.
GetLastEventID ( ImportanceType inImportance)
Tìm nạp ID tự động gần đây nhất cho một mức độ quan trọng cụ thể.
IsShutdownInProgress (void)
bool
Kiểm tra cờ mShutdownInProgress.
IsValid (void)
bool
IsValid trả về liệu cá thể LoggingManagement có hợp lệ hay không.
LoadEvents (TLVReader & reader)
Tải sự kiện Weave tồn tại trước đó.
LogEvent (const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Ghi lại một sự kiện thông qua một cuộc gọi lại, với các tùy chọn.
MarkShutdownInProgress (void)
void
Đặt cờ mShutdownInProgress thành 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 công khai để đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.
RegisterEventCallbackForImportance ( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID)
API công khai để đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.
RegisterEventCallbackForImportance ( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID)
API công khai để đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.
ScheduleFlushIfNeeded (bool inFlushRequested)
Lên lịch tác vụ giảm tải nhật ký.
SerializeEvents (TLVWriter & writer)
Nối tiếp các sự kiện Weave của tất cả các loại quan trọng.
SetBDXUploader ( LogBDXUpload *inUploader)
void
SetExchangeManager ( nl::Weave::WeaveExchangeManager *inMgr)
Đặt WeaveExchangeManager được sử dụng với hệ thống con ghi nhật ký này.
SetLoggingEndpoint ( event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition)
SkipEvent ( EventLoadOutContext *aContext)
void
Chức năng của người trợ giúp để bỏ qua việc viết một sự kiện tương ứng với một id sự kiện được cấp phát.
ThrottleLogger (void)
void
ThrottleLogger nâng cấp ghi nhật ký hiệu quả lên cấp Sản xuất.
UnregisterEventCallbackForImportance ( ImportanceType inImportance, event_id_t inEventID)
void
API công khai để hủy đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.
UnthrottleLogger (void)
void
UnthrottleLogger khôi phục cấp độ ghi nhật ký hiệu quả về cấp độ ghi nhật ký đã định cấu hình.

Chức năng tĩnh công khai

CreateLoggingManagement ( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
void
Tạo đối tượng LoggingManagement và khởi tạo hệ thống con quản lý ghi nhật ký với các tài nguyên được cung cấp.
DestroyLoggingManagement (void)
void
Thực hiện bất kỳ hành động nào chúng tôi cần khi tắt máy.
GetInstance (void)

Chức năng công cộng

BlitEvent

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

Chức năng trợ giúp để ghi tiêu đề sự kiện và dữ liệu theo giao thức ghi sự kiện.

Chi tiết
Thông số
[in,out] aContext
EventLoadOutContext , được khởi tạo với thông tin trạng thái cho bộ đệm. Trạng thái được cập nhật và lưu giữ bởi BlitEvent bằng cách sử dụng ngữ cảnh này.
[in] inSchema
Lược đồ xác định tầm quan trọng, ID hồ sơ và loại cấu trúc của sự kiện này.
[in] inEventWriter
Lệnh gọi lại để gọi để tuần tự hóa dữ liệu sự kiện.
[in] inAppData
Bối cảnh ứng dụng cho cuộc gọi lại.
[in] inOptions
EventOptions mô tả dấu thời gian và các thẻ khác có liên quan đến sự kiện này.

CancelShutdownInProgress

void CancelShutdownInProgress(
  void
)

Đặt cờ mShutdownInProgress thành false.

CheckShouldRunWDM

bool CheckShouldRunWDM(
  void
)

Quyết định xem có giảm tải sự kiện hay không dựa trên số byte trong bộ đệm sự kiện không được lên lịch để tải lên.

Hoạt động của hàm được kiểm soát thông qua hằng số WEAVE_CONFIG_EVENT_LOGGING_BYTE_THRESHOLD . Nếu hệ thống đã viết nhiều hơn số byte đó kể từ lần cuối cùng một Thông báo WDM được gửi, hàm sẽ cho biết đã đến lúc kích hoạt NotificationEngine .

Chi tiết
Giá trị trả lại
true
Các sự kiện phải được giảm tải
false
Nếu không thì

FetchEventsSince

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

Một chức năng để truy xuất các sự kiện có tầm quan trọng được chỉ định kể từ một ID sự kiện được chỉ định.

Cho mộtnl :: Weave :: TLV :: TLVWriter , một loại quan trọng và một ID sự kiện, hàm sẽ tìm nạp các sự kiện có mức độ quan trọng được chỉ định kể từ sự kiện được chỉ định. Hàm sẽ tiếp tục tìm nạp các sự kiện cho đến khi hết dung lượng trongnl :: Weave :: TLV :: TLVWriter hoặc trong nhật ký. Hàm sẽ kết thúc việc ghi sự kiện trên ranh giới sự kiện.

Chi tiết
Thông số
[in] ioWriter
Người viết sử dụng để lưu trữ sự kiện
[in] inImportance
Tầm quan trọng của các sự kiện được tìm nạp
[in,out] ioEventID
Khi đầu vào, ID của sự kiện ngay trước sự kiện mà chúng tôi đang tìm nạp. Sau khi hoàn thành, ID của sự kiện cuối cùng đã được tìm nạp.
Giá trị trả lại
WEAVE_END_OF_TLV
Chức năng đã kết thúc các mục nhật ký có sẵn ở mức độ quan trọng được chỉ định
WEAVE_ERROR_NO_MEMORY
Hàm đã hết dung lượng trong ioWriter, có nhiều sự kiện hơn trong nhật ký.
WEAVE_ERROR_BUFFER_TOO_SMALL
Hàm đã hết dung lượng trong ioWriter, có nhiều sự kiện hơn trong nhật ký.

GetBytesWritten

uint32_t GetBytesWritten(
  void
) const 

Nhận tổng số byte được ghi (trên tất cả các lần nhập sự kiện) vào nhật ký này kể từ khi khởi tạo.

Chi tiết
Lợi nhuận
Số byte được ghi vào nhật ký.

GetEventReader

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

Một phương pháp trợ giúp hữu ích để kiểm tra bộ đệm nhật ký trong bộ nhớ.

Chi tiết
Thông số
[in,out] ioReader
Tham chiếu đến trình đọc sẽ được khởi tạo với bộ nhớ dự phòng từ nhật ký sự kiện
[in] inImportance
Tầm quan trọng bắt đầu đối với người đọc. Lưu ý rằng trong trường hợp này, tầm quan trọng bắt đầu có phần ngược lại trực quan: các sự kiện quan trọng hơn chia sẻ bộ đệm với các sự kiện ít quan trọng hơn, ngoài bộ đệm chuyên dụng của chúng. Kết quả là trình đọc sẽ duyệt qua ít dữ liệu nhất khi mức độ quan trọng Gỡ lỗi được chuyển vào.
Lợi nhuận
WEAVE_NO_ERROR Vô điều kiện.

GetFirstEventID

event_id_t GetFirstEventID(
  ImportanceType inImportance
)

Tìm nạp ID sự kiện đầu tiên hiện được lưu trữ cho một mức độ quan trọng cụ thể.

Chi tiết
Thông số
inImportance
Mức độ quan trọng
Lợi nhuận
event_id_t ID sự kiện hiện được lưu trữ đầu tiên cho mức độ quan trọng của sự kiện đó

GetLastEventID

event_id_t GetLastEventID(
  ImportanceType inImportance
)

Tìm nạp ID tự động gần đây nhất cho một mức độ quan trọng cụ thể.

Chi tiết
Thông số
inImportance
Mức độ quan trọng
Lợi nhuận
event_id_t ID sự kiện tự động gần đây nhất cho mức độ quan trọng của sự kiện đó

IsShutdownInProgress

bool IsShutdownInProgress(
  void
)

Kiểm tra cờ mShutdownInProgress.

IsValid

bool IsValid(
  void
)

IsValid trả về liệu cá thể LoggingManagement có hợp lệ hay không.

Chi tiết
Giá trị trả lại
true
Phiên bản hợp lệ (được khởi tạo bằng kho lưu trữ sao lưu thích hợp)
false
Nếu không thì

LoadEvents

WEAVE_ERROR LoadEvents(
  TLVReader & reader
)

Tải sự kiện Weave tồn tại trước đó.

LogEvent

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

Ghi lại một sự kiện thông qua một cuộc gọi lại, với các tùy chọn.

Hàm ghi lại một sự kiện được biểu thị dưới dạng EventWriterFunct và ngữ cảnh appData ứng dụng cụ thể. Hàm ghi siêu dữ liệu sự kiện và gọi inEventWriter với tham chiếunl :: Weave :: TLV :: TLVWriter và ngữ cảnh inAppData để mã người dùng có thể gửi dữ liệu sự kiện trực tiếp vào nhật ký sự kiện. Hình thức ghi sự kiện này giảm thiểu tiêu thụ bộ nhớ, vì dữ liệu sự kiện được tuần tự hóa trực tiếp vào bộ đệm đích. Dữ liệu sự kiện PHẢI chứa các thẻ ngữ cảnh được diễn giải trong lược đồ được xác định bởi inProfileIDinEventType . Thẻ của phần tử đầu tiên sẽ bị bỏ qua; hệ thống ghi sự kiện sẽ thay thế nó bằng thẻ eventData.

Sự kiện này được đăng nhập nếu tầm quan trọng schema vượt quá ngưỡng khai thác gỗ quy định tại các LoggingConfiguration . Nếu mức độ quan trọng của sự kiện không đáp ứng ngưỡng hiện tại, nó sẽ bị loại bỏ và hàm trả về giá trị 0 làm ID sự kiện kết quả.

Biến thể của lời gọi này cho phép người gọi thiết lập bất kỳ sự kết hợp nào của EventOptions :

  • dấu thời gian, khi 0 được mặc định là thời gian hiện tại tại thời điểm cuộc gọi,
  • phần "gốc" của nguồn sự kiện (nguồn sự kiện và ID đặc điểm); nếu NULL, nó mặc định là thiết bị hiện tại. sự kiện được đánh dấu là liên quan đến thiết bị đang thực hiện cuộc gọi,
  • ID sự kiện liên quan để nhóm các ID sự kiện; khi ID sự kiện có liên quan bằng 0, sự kiện được đánh dấu là không liên quan đến bất kỳ sự kiện nào khác,
  • khẩn cấp; theo mặc định là không khẩn cấp.

Chi tiết
Thông số
[in] inSchema
Lược đồ xác định tầm quan trọng, ID hồ sơ và loại cấu trúc của sự kiện này.
[in] inEventWriter
Lệnh gọi lại để gọi để thực sự tuần tự hóa dữ liệu sự kiện
[in] inAppData
Bối cảnh ứng dụng cho cuộc gọi lại.
[in] inOptions
Các tùy chọn cho siêu dữ liệu sự kiện. Có thể là KHÔNG.
Lợi nhuận
event_id_t ID sự kiện nếu sự kiện được ghi vào nhật ký, 0 nếu không.

LoggingManagement

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

Hàm tạo LoggingManagement .

Khởi tạo LoggingManagement với một mảng LogStorageResources . Mảng phải cung cấp tài nguyên cho mỗi mức độ quan trọng hợp lệ, các phần tử của mảng phải có giá trị số theo mức độ quan trọng tăng dần (và mức độ quan trọng giảm dần); phần tử đầu tiên trong mảng tương ứng với tài nguyên được phân bổ cho các sự kiện quan trọng nhất và phần tử cuối cùng tương ứng với các sự kiện ít quan trọng nhất.

Chi tiết
Thông số
[in] inMgr
WeaveExchangeManager sẽ được sử dụng với hệ thống con ghi nhật ký này
[in] inNumBuffers
Số phần tử trong mảng inLogStorageResources
[in] inLogStorageResources
Một mảng LogStorageResources cho từng mức độ quan trọng.

LoggingManagement

 LoggingManagement(
  void
)

Hàm tạo mặc định LoggingManagement .

Được cung cấp chủ yếu để làm cho trình biên dịch hài lòng.

Chi tiết
Lợi nhuận

MarkShutdownInProgress

void MarkShutdownInProgress(
  void
)

Đặt cờ mShutdownInProgress thành 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 công khai để đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.

Đăng ký một lệnh gọi lại của biểu mẫu FetchExternalEventsFunct . API này yêu cầu nền tảng biết số lượng sự kiện khi đăng ký. Hoạt động bên trong cũng yêu cầu con số này không đổi. Vì API này không cho phép nền tảng đăng ký các ID sự kiện cụ thể, điều này ngăn nền tảng lưu trữ liên tục các sự kiện (ít nhất là với các ID sự kiện duy nhất).

Cuộc gọi lại sẽ được gọi bất cứ khi nào một người đăng ký cố gắng tìm nạp các ID sự kiện trong phạm vi bất kỳ số lần nào cho đến khi nó được hủy đăng ký.

Biến thể của hàm này nên được sử dụng khi nhà cung cấp bên ngoài muốn được thông báo cả khi các sự kiện đã được chuyển đến người đăng ký và nếu đối tượng sự kiện bên ngoài bị loại bỏ.

Khi các sự kiện được phân phối, nhà cung cấp bên ngoài được thông báo về điều đó cùng với ID nút của người nhận và id của sự kiện cuối cùng được phân phối cho người nhận đó. Lưu ý rằng nhà cung cấp bên ngoài có thể được thông báo nhiều lần cho cùng một ID sự kiện. Không có giới hạn cụ thể nào đối với trình xử lý, cụ thể là trình xử lý có thể hủy đăng ký ID sự kiện bên ngoài.

Nếu đối tượng sự kiện bên ngoài bị loại khỏi bộ đệm nhật ký, trình cung cấp bên ngoài sẽ được thông báo cùng với bản sao của đối tượng sự kiện bên ngoài.

Con trỏ đến cấu trúc ExternalEvents sẽ không thành công, nếu không sẽ được điền với ID sự kiện bắt đầu và kết thúc được chỉ định cho lệnh gọi lại. Con trỏ này nên được sử dụng để hủy đăng ký nhóm sự kiện.

Xem tài liệu dành cho FetchExternalEventsFunct để biết chi tiết về những gì gọi lại phải triển khai.

Chi tiết
Thông số
[in] inImportance
Mức độ quan trọng
[in] inFetchCallback
Gọi lại để đăng ký tìm nạp các sự kiện bên ngoài
[in] inNotifyCallback
Gọi lại để đăng ký thông báo giao hàng
[in] inEvictedCallback
Gọi lại để đăng ký thông báo trục xuất
[in] inNumEvents
Số sự kiện trong tập hợp này
[out] outLastEventID
Trỏ tới event_id_t; khi đăng ký thành công các sự kiện bên ngoài, hàm sẽ lưu trữ ID sự kiện tương ứng với ID sự kiện cuối cùng của khối sự kiện bên ngoài. Tham số có thể là NULL.
Giá trị trả lại
WEAVE_ERROR_NO_MEMORY
Nếu không còn vùng gọi lại nào nữa.
WEAVE_ERROR_INVALID_ARGUMENT
Gọi lại hàm rỗng hoặc không có sự kiện nào để đăng ký.
WEAVE_NO_ERROR
Về thành công.

RegisterEventCallbackForImportance

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

API công khai để đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.

Đăng ký một lệnh gọi lại của biểu mẫu FetchExternalEventsFunct . API này yêu cầu nền tảng biết số lượng sự kiện khi đăng ký. Hoạt động bên trong cũng yêu cầu con số này không đổi. Vì API này không cho phép nền tảng đăng ký các ID sự kiện cụ thể, điều này ngăn nền tảng lưu trữ liên tục các sự kiện (ít nhất là với các ID sự kiện duy nhất).

Cuộc gọi lại sẽ được gọi bất cứ khi nào người đăng ký cố gắng tìm nạp các ID sự kiện trong phạm vi bất kỳ số lần nào cho đến khi nó được hủy đăng ký.

Biến thể của hàm này nên được sử dụng khi nhà cung cấp bên ngoài muốn được thông báo khi các sự kiện đã được chuyển đến người đăng ký, nhưng không phải khi đối tượng sự kiện bên ngoài bị loại bỏ. Khi các sự kiện được phân phối, nhà cung cấp bên ngoài sẽ được thông báo về điều đó cùng với ID nút của người nhận và id của sự kiện cuối cùng được gửi đến người nhận đó. Lưu ý rằng nhà cung cấp bên ngoài có thể được thông báo nhiều lần cho cùng một ID sự kiện. Không có giới hạn cụ thể nào đối với trình xử lý, cụ thể là trình xử lý có thể hủy đăng ký ID sự kiện bên ngoài.

Con trỏ tới cấu trúc ExternalEvents sẽ không thành công, nếu không sẽ được điền với ID sự kiện bắt đầu và kết thúc được chỉ định cho lệnh gọi lại. Con trỏ này nên được sử dụng để hủy đăng ký nhóm sự kiện.

Xem tài liệu dành cho FetchExternalEventsFunct để biết chi tiết về những gì gọi lại phải triển khai.

Chi tiết
Thông số
[in] inImportance
Mức độ quan trọng
[in] inCallback
Gọi lại để đăng ký tìm nạp các sự kiện bên ngoài
[in] inNotifyCallback
Gọi lại để đăng ký thông báo giao hàng
[in] inNumEvents
Số sự kiện trong tập hợp này
[out] outLastEventID
Trỏ tới event_id_t; khi đăng ký thành công các sự kiện bên ngoài, hàm sẽ lưu trữ ID sự kiện tương ứng với ID sự kiện cuối cùng của khối sự kiện bên ngoài. Tham số có thể là NULL.
Giá trị trả lại
WEAVE_ERROR_NO_MEMORY
Nếu không còn vùng gọi lại nào nữa.
WEAVE_ERROR_INVALID_ARGUMENT
Gọi lại hàm rỗng hoặc không có sự kiện nào để đăng ký.
WEAVE_NO_ERROR
Về thành công.

RegisterEventCallbackForImportance

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

API công khai để đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.

Đăng ký một lệnh gọi lại của biểu mẫu FetchExternalEventsFunct . API này yêu cầu nền tảng biết số lượng sự kiện khi đăng ký. Hoạt động bên trong cũng yêu cầu con số này không đổi. Vì API này không cho phép nền tảng đăng ký các ID sự kiện cụ thể, điều này ngăn nền tảng lưu trữ liên tục các sự kiện (ít nhất là với các ID sự kiện duy nhất).

Cuộc gọi lại sẽ được gọi bất cứ khi nào một người đăng ký cố gắng tìm nạp các ID sự kiện trong phạm vi bất kỳ số lần nào cho đến khi nó được hủy đăng ký.

Biến thể này của hàm nên được sử dụng khi nhà cung cấp bên ngoài muốn thông báo cả khi các sự kiện bên ngoài đã được phân phối cũng như khi đối tượng sự kiện bên ngoài bị loại bỏ.

Con trỏ tới cấu trúc ExternalEvents sẽ không thành công, nếu không sẽ được điền với ID sự kiện bắt đầu và kết thúc được chỉ định cho lệnh gọi lại. Con trỏ này nên được sử dụng để hủy đăng ký nhóm sự kiện.

Xem tài liệu dành cho FetchExternalEventsFunct để biết chi tiết về những gì gọi lại phải triển khai.

Chi tiết
Thông số
[in] inImportance
Mức độ quan trọng
[in] inCallback
Gọi lại để đăng ký tìm nạp các sự kiện bên ngoài
[in] inNumEvents
Số lượng sự kiện trong tập hợp này
[out] outLastEventID
Trỏ tới event_id_t; khi đăng ký thành công các sự kiện bên ngoài, hàm sẽ lưu trữ ID sự kiện tương ứng với ID sự kiện cuối cùng của khối sự kiện bên ngoài. Tham số có thể là NULL.
Giá trị trả lại
WEAVE_ERROR_NO_MEMORY
Nếu không còn vùng gọi lại nào nữa.
WEAVE_ERROR_INVALID_ARGUMENT
Gọi lại hàm rỗng hoặc không có sự kiện nào để đăng ký.
WEAVE_NO_ERROR
Về thành công.

ScheduleFlushIfNeeded

WEAVE_ERROR ScheduleFlushIfNeeded(
  bool inFlushRequested
)

Lên lịch tác vụ giảm tải nhật ký.

Hàm quyết định có lên lịch cho quá trình giảm tải tác vụ hay không, và nếu có, nó lập lịch để LoggingFlushHandler được chạy không đồng bộ trên chuỗi Weave.

Quyết định lên lịch xả phụ thuộc vào ba yếu tố:

một yêu cầu rõ ràng để làm sạch bộ đệm

trạng thái của bộ đệm sự kiện và lượng dữ liệu chưa được đồng bộ hóa với người tiêu dùng sự kiện

cho dù có một sự kiện yêu cầu xóa yêu cầu đang chờ xử lý hay không.

Yêu cầu rõ ràng để lên lịch xả được chuyển qua một tham số đầu vào.

Quá trình xả tự động thường được lên lịch khi bộ đệm sự kiện chứa đủ dữ liệu để bắt đầu một đợt giảm tải mới. Các kích hoạt bổ sung như thời gian tối thiểu và tối đa giữa các lần giảm tải cũng có thể được tính đến tùy thuộc vào chiến lược giảm tải.

Trạng thái đang chờ xử lý của nhật ký sự kiện được biểu thị bằng biến mUploadRequested . Vì chức năng này có thể được gọi bởi nhiều luồng, mUploadRequested phải được đọc và thiết lập nguyên tử, để tránh lập lịch trình LoggingFlushHandler dư thừa trước khi thông báo được gửi đi.

Chi tiết
Thông số
inRequestFlush
Giá trị boolean cho biết liệu quá trình xả có nên được lên lịch bất kể chính sách quản lý bộ đệm nội bộ hay không.
Giá trị trả lại
WEAVE_ERROR_INCORRECT_STATE
Mô-đun LoggingManagement chưa được khởi tạo hoàn toàn.
WEAVE_NO_ERROR
Về thành công.

SerializeEvents

WEAVE_ERROR SerializeEvents(
  TLVWriter & writer
)

Nối tiếp các sự kiện Weave của tất cả các loại quan trọng.

Sắp xếp thứ tự các sự kiện trong WeaveCircularTLVBuffer và các trạng thái liên quan vào bộ đệm được cung cấp.

Phương pháp này nhằm mục đích được sử dụng bởi các thiết bị không giữ lại RAM trong khi ngủ, cho phép chúng duy trì các sự kiện trước khi ngủ và do đó ngăn chặn việc mất sự kiện

SetBDXUploader

void SetBDXUploader(
  LogBDXUpload *inUploader
)

SetExchangeManager

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

Đặt WeaveExchangeManager được sử dụng với hệ thống con ghi nhật ký này.

Trên một số nền tảng, điều này có thể xảy ra riêng biệt với CreateLoggingManagement () ở trên.

Chi tiết
Thông số
[in] inMgr
WeaveExchangeManager sẽ được sử dụng với hệ thống con ghi nhật ký này

SetLoggingEndpoint

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

SkipEvent

void SkipEvent(
  EventLoadOutContext *aContext
)

Chức năng của người trợ giúp để bỏ qua việc viết một sự kiện tương ứng với một id sự kiện được cấp phát.

Chi tiết
Thông số
[in,out] aContext
EventLoadOutContext , được khởi tạo với thông tin trạng thái cho bộ đệm. Trạng thái được cập nhật và lưu giữ bởi BlitEvent bằng cách sử dụng ngữ cảnh này.

ThrottleLogger

void ThrottleLogger(
  void
)

ThrottleLogger nâng cấp ghi nhật ký hiệu quả lên cấp Sản xuất.

UnregisterEventCallbackForImportance

void UnregisterEventCallbackForImportance(
  ImportanceType inImportance,
  event_id_t inEventID
)

API công khai để hủy đăng ký một tập hợp các sự kiện được lưu trữ bên ngoài.

Việc hủy đăng ký lệnh gọi lại sẽ ngăn LoggingManagement gọi lệnh gọi lại cho một nhóm sự kiện. LoggingManagement sẽ không gửi những ID sự kiện đó cho người đăng ký nữa.

Mục đích dành cho một chức năng để phục vụ một nhóm sự kiện tại một thời điểm. Nếu một tập hợp sự kiện mới cần được đăng ký bằng cách sử dụng cùng một chức năng, thì lệnh gọi lại trước tiên phải được hủy đăng ký, sau đó đăng ký lại. Điều này có nghĩa là không thể tìm nạp tập hợp sự kiện ban đầu nữa.

Chức năng này thành công vô điều kiện. Nếu cuộc gọi lại chưa bao giờ được đăng ký hoặc chưa được đăng ký, thì đó là điều không cần thiết.

Chi tiết
Thông số
[in] inImportance
Mức độ quan trọng
[in] inEventID
ID sự kiện tương ứng với bất kỳ sự kiện nào trong khối sự kiện bên ngoài sẽ được hủy đăng ký.

UnthrottleLogger

void UnthrottleLogger(
  void
)

UnthrottleLogger khôi phục cấp độ ghi nhật ký hiệu quả về cấp độ ghi nhật ký đã định cấu hình.

Chức năng tĩnh công khai

CreateLoggingManagement

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

Tạo đối tượng LoggingManagement và khởi tạo hệ thống con quản lý ghi nhật ký với các tài nguyên được cung cấp.

Khởi tạo LoggingManagement bằng một mảng LogStorageResources . Mảng phải cung cấp tài nguyên cho mỗi mức độ quan trọng hợp lệ, các phần tử của mảng phải có giá trị số theo mức độ quan trọng tăng dần (và mức độ quan trọng giảm dần); phần tử đầu tiên trong mảng tương ứng với tài nguyên được phân bổ cho các sự kiện quan trọng nhất và phần tử cuối cùng tương ứng với các sự kiện ít quan trọng nhất.

Chi tiết
Thông số
[in] inMgr
WeaveExchangeManager sẽ được sử dụng với hệ thống con ghi nhật ký này
[in] inNumBuffers
Số phần tử trong mảng inLogStorageResources
[in] inLogStorageResources
Một mảng LogStorageResources cho từng mức độ quan trọng.

DestroyLoggingManagement

void DestroyLoggingManagement(
  void
)

Thực hiện bất kỳ hành động nào chúng tôi cần khi tắt máy.

GetInstance

LoggingManagement & GetInstance(
  void
)