blob: 58c9e6064ecfa9bc543bea93ea54c39d7d825a55 [file] [log] [blame]
Avi Drissman64595482022-09-14 20:52:291// Copyright 2020 The Chromium Authors
Daniel McArdle72692a12020-05-11 16:47:162// 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 {
Daniel McArdlebbfc1452020-05-18 15:11:5512 // Using int64 to match internal representation of base::Time and
13 // base::TimeTicks.
Daniel McArdle72692a12020-05-11 16:47:1614 required int64 parse_time = 1;
15 required int64 serialize_time = 2;
Daniel McArdlebbfc1452020-05-18 15:11:5516 required int64 now_ticks = 5;
Daniel McArdle72692a12020-05-11 16:47:1617 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}