class Queue

Defined at line 31 of file ../../src/developer/forensics/crash_reports/queue.h

Queues pending reports and processes them according to the reporting policy.

Public Methods

void Queue (async_dispatcher_t * dispatcher, std::shared_ptr<sys::ServiceDirectory> services, std::shared_ptr<InfoContext> info_context, LogTags * tags, ReportStore * report_store, CrashServer * crash_server)

Defined at line 29 of file ../../src/developer/forensics/crash_reports/queue.cc

void WatchReportingPolicy (ReportingPolicyWatcher * watcher)

The queue is inheritly conservative with uploading crash reports meaning that a report that is

forbidden from being uploaded will never be uploaded while crash reports that are permitted to

be uploaded may later be considered to be forbidden. This is due to the fact that when uploads

are disabled all reports are immediately archived after having been added to the queue, thus we

never have to worry that a report that shouldn't be uploaded ends up being uploaded when the

reporting policy changes.

Defined at line 507 of file ../../src/developer/forensics/crash_reports/queue.cc

void SetNetworkIsReachable (bool is_reachable)

Defined at line 534 of file ../../src/developer/forensics/crash_reports/queue.cc

bool Add (Report report, FilingResultFn callback)

Defined at line 137 of file ../../src/developer/forensics/crash_reports/queue.cc

void AddReportUsingSnapshot (const std::string & uuid, ReportId report)

Identifies |report| as a crash report that used the snapshot referred to by |uuid|.

Note: this is needed because the Queue manages the lifetime of snapshots. Reports are added

asynchronously and it may be possible for the Queue to think all reports using a snapshot are

retired depending on how Add and Upload are ordered.

Defined at line 390 of file ../../src/developer/forensics/crash_reports/queue.cc

uint64_t Size ()

Defined at line 79 of file ../../src/developer/forensics/crash_reports/queue.cc

bool IsEmpty ()

Defined at line 83 of file ../../src/developer/forensics/crash_reports/queue.cc

ReportId LatestReport ()

Defined at line 85 of file ../../src/developer/forensics/crash_reports/queue.cc

bool Contains (ReportId report_id)

Defined at line 94 of file ../../src/developer/forensics/crash_reports/queue.cc

bool IsPeriodicUploadScheduled ()

Defined at line 114 of file ../../src/developer/forensics/crash_reports/queue.cc

bool HasHourlyReport ()

Returns true if there is an hourly report already an hourly report anywhere in the queue, i.e.

active, ready or blocked.

Defined at line 104 of file ../../src/developer/forensics/crash_reports/queue.cc

void StopUploading ()

Forces the queue to automatically put all reports in the store and stop all uploads.

Defined at line 118 of file ../../src/developer/forensics/crash_reports/queue.cc