Commit c18c02f9 authored by Leonid Baraz's avatar Leonid Baraz Committed by Commit Bot

StorageQueue implementation, represents single queues for the reporting Storage module.

Its purpose is to accept, store, upload and remove individual encrypted reporting records from any OS and/or Chrome components (FileSet treats them as opaque blobs of various size, limited by Options settings).
The queue supports adding new records asynchronously, maintains strict records order (including the case when Storage module has restarted after crash or reboot), uploading records in batches periodically or immediately after write (in the future uploading on request is planned to be supported too).
Uploading is performed by creating an uploader sink, which accepts series of individual records and then completion call - all are non-blocking asynchronous calls, with actual implementation of the uploader sink provided by the caller.
The queue also accepts a confirmation request for specific sequencing numberi and priority, after which all records with lower numbers (inclusively) are assumed to have been processed and no longer included in future uploads from that queue.

Bug: b:153364303
Change-Id: If9098df63bd74a8548775ab7621b362fec89dc2d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2231033
Commit-Queue: Leonid Baraz <lbaraz@chromium.org>
Reviewed-by: default avatarPavol Marko <pmarko@chromium.org>
Reviewed-by: default avatarSergey Poromov <poromov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#779704}
parent 546edcda
......@@ -1267,6 +1267,8 @@ static_library("browser") {
"policy/messaging_layer/public/report_queue_configuration.h",
"policy/messaging_layer/storage/storage_module.cc",
"policy/messaging_layer/storage/storage_module.h",
"policy/messaging_layer/storage/storage_queue.cc",
"policy/messaging_layer/storage/storage_queue.h",
"policy/messaging_layer/util/status.cc",
"policy/messaging_layer/util/status.h",
"policy/messaging_layer/util/status_macros.h",
......
This diff is collapsed.
This diff is collapsed.
......@@ -3313,6 +3313,7 @@ test("unit_tests") {
"../browser/policy/messaging_layer/public/report_client_unittest.cc",
"../browser/policy/messaging_layer/public/report_queue_configuration_unittest.cc",
"../browser/policy/messaging_layer/public/report_queue_unittest.cc",
"../browser/policy/messaging_layer/storage/storage_queue_unittest.cc",
"../browser/policy/messaging_layer/storage/test_storage_module.cc",
"../browser/policy/messaging_layer/storage/test_storage_module.h",
"../browser/policy/messaging_layer/util/status_macros_unittest.cc",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment