Skip to content
Commit b8c27535 authored by Leonid Baraz's avatar Leonid Baraz Committed by Chromium LUCI CQ
Browse files

Implement speculative queue

Such a queue does not wait for actual queue and client initialization,
and in a mean time stows all records in memory. Once the scheduled
actual queue initialization succeeds, all stowed records are enqueued.
Note that stowed records will be lost if the machine is rebooted. They
are not encrypted in memory, until enqueued to the actual queue.

The code sample for using it is placed in the comment in report_queue.h

Note also, SpeculativeQueue implementation has weak pointers factory
so its 'Create' method which is used for instantiating it returns
a smart pointer augmented with on-thread deleter!

Bug: 185173853
Change-Id: I652fe823c8ffa73110c4c13262bc3ee7dc1ef5ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3069666


Commit-Queue: Leonid Baraz <lbaraz@chromium.org>
Reviewed-by: default avatarZach Trudo <zatrudo@google.com>
Cr-Commit-Position: refs/heads/master@{#908708}
parent 0654f97a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment