xref: /aosp_15_r20/external/cronet/net/reporting/reporting_policy.proto (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1// Copyright 2017 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Based on net::ReportingPolicy class declaration.
6
7syntax = "proto2";
8
9import "testing/libfuzzer/proto/json.proto";
10
11package net_reporting_policy_proto;
12
13// TODO(chlily): Can we get rid of this proto? ReportingHeaderParser doesn't
14// really consider any of the ReportingPolicy fields except maybe
15// max_endpoint_count.
16message ReportingPolicy {
17  // TODO: consider implementing proto for endpoint_backoff_policy.
18  required uint64 max_report_count = 1;
19  required uint64 max_endpoint_count = 2;
20  required uint64 delivery_interval_us = 3;
21  required uint64 persistence_interval_us = 4;
22  required bool persist_reports_across_restarts = 5;
23  required bool persist_clients_across_restarts = 6;
24  required uint64 garbage_collection_interval_us = 7;
25  required uint64 max_report_age_us = 8;
26  required int32 max_report_attempts = 9;
27  required bool persist_reports_across_network_changes = 10;
28  required bool persist_clients_across_network_changes = 11;
29  optional uint64 max_endpoints_per_origin = 12 [default = 40];
30  optional uint64 max_group_staleness_us = 13 [default = 604800000000];
31}
32
33message ReportingHeaderParserFuzzInput {
34  required ReportingPolicy policy = 1;
35  required json_proto.JsonObject headers = 2;
36}
37