summaryrefslogtreecommitdiff
path: root/chromium/net/base/backoff_entry_serializer_fuzzer_input.proto
blob: 58c9e6064ecfa9bc543bea93ea54c39d7d825a55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

package fuzz_proto;

import "testing/libfuzzer/proto/json.proto";

message FuzzerInput {
  // Using int64 to match internal representation of base::Time and
  // base::TimeTicks.
  required int64 parse_time = 1;
  required int64 serialize_time = 2;
  required int64 now_ticks = 5;
  required BackoffEntryPolicy policy = 3;
  required json_proto.ArrayValue serialized_entry = 4;
}

// Input for the fuzzer to try serializing a BackoffEntry.
// Keep aligned with |net::BackoffEntry::Policy|.
message BackoffEntryPolicy {
  required int64 num_errors_to_ignore = 1;
  required int64 initial_delay_ms = 2;
  required double multiply_factor = 3;
  required double jitter_factor = 4;
  required int64 maximum_backoff_ms = 5;
  required int64 entry_lifetime_ms = 6;
  required bool always_use_initial_delay = 7;
}