1// Copyright 2020 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto2";
6
7package fuzz_proto;
8
9import "testing/libfuzzer/proto/json.proto";
10
11message FuzzerInput {
12  // Using int64 to match internal representation of base::Time and
13  // base::TimeTicks.
14  required int64 parse_time = 1;
15  required int64 serialize_time = 2;
16  required int64 now_ticks = 5;
17  required BackoffEntryPolicy policy = 3;
18  required json_proto.ArrayValue serialized_entry = 4;
19}
20
21// Input for the fuzzer to try serializing a BackoffEntry.
22// Keep aligned with |net::BackoffEntry::Policy|.
23message BackoffEntryPolicy {
24  required int64 num_errors_to_ignore = 1;
25  required int64 initial_delay_ms = 2;
26  required double multiply_factor = 3;
27  required double jitter_factor = 4;
28  required int64 maximum_backoff_ms = 5;
29  required int64 entry_lifetime_ms = 6;
30  required bool always_use_initial_delay = 7;
31}