blob: bbd998687bb23623906afb3ed51595b401ac3d3d [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Based on net::ReportingPolicy class declaration.
syntax = "proto2";
import "json.proto";
package net_reporting_policy_proto;
// TODO(chlily): Can we get rid of this proto? ReportingHeaderParser doesn't
// really consider any of the ReportingPolicy fields except maybe
// max_endpoint_count.
message ReportingPolicy {
// TODO: consider implementing proto for endpoint_backoff_policy.
required uint64 max_report_count = 1;
required uint64 max_endpoint_count = 2;
required uint64 delivery_interval_us = 3;
required uint64 persistence_interval_us = 4;
required bool persist_reports_across_restarts = 5;
required bool persist_clients_across_restarts = 6;
required uint64 garbage_collection_interval_us = 7;
required uint64 max_report_age_us = 8;
required int32 max_report_attempts = 9;
required bool persist_reports_across_network_changes = 10;
required bool persist_clients_across_network_changes = 11;
optional uint64 max_endpoints_per_origin = 12 [default = 40];
optional uint64 max_group_staleness_us = 13 [default = 604800000000];
}
message ReportingHeaderParserFuzzInput {
required ReportingPolicy policy = 1;
required json_proto.JsonObject headers = 2;
}