//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/config/test_config.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/config/test_config.proto.
 */
export const file_protos_perfetto_config_test_config: GenFile = /*@__PURE__*/
  fileDesc("Cihwcm90b3MvcGVyZmV0dG8vY29uZmlnL3Rlc3RfY29uZmlnLnByb3RvEg9wZXJmZXR0by5wcm90b3MijQQKClRlc3RDb25maWcSFQoNbWVzc2FnZV9jb3VudBgBIAEoDRIfChdtYXhfbWVzc2FnZXNfcGVyX3NlY29uZBgCIAEoDRIMCgRzZWVkGAMgASgNEhQKDG1lc3NhZ2Vfc2l6ZRgEIAEoDRIeChZzZW5kX2JhdGNoX29uX3JlZ2lzdGVyGAUgASgIEj0KDGR1bW15X2ZpZWxkcxgGIAEoCzInLnBlcmZldHRvLnByb3Rvcy5UZXN0Q29uZmlnLkR1bW15RmllbGRzGsMCCgtEdW1teUZpZWxkcxIUCgxmaWVsZF91aW50MzIYASABKA0SEwoLZmllbGRfaW50MzIYAiABKAUSFAoMZmllbGRfdWludDY0GAMgASgEEhMKC2ZpZWxkX2ludDY0GAQgASgDEhUKDWZpZWxkX2ZpeGVkNjQYBSABKAYSFgoOZmllbGRfc2ZpeGVkNjQYBiABKBASFQoNZmllbGRfZml4ZWQzMhgHIAEoBxIWCg5maWVsZF9zZml4ZWQzMhgIIAEoDxIUCgxmaWVsZF9kb3VibGUYCSABKAESEwoLZmllbGRfZmxvYXQYCiABKAISFAoMZmllbGRfc2ludDY0GAsgASgSEhQKDGZpZWxkX3NpbnQzMhgMIAEoERIUCgxmaWVsZF9zdHJpbmcYDSABKAkSEwoLZmllbGRfYnl0ZXMYDiABKAw");

/**
 * The configuration for a fake producer used in tests.
 *
 * @generated from message perfetto.protos.TestConfig
 */
export type TestConfig = Message<"perfetto.protos.TestConfig"> & {
  /**
   * The number of messages the fake producer should send.
   *
   * @generated from field: optional uint32 message_count = 1;
   */
  messageCount: number;

  /**
   * The maximum number of messages which should be sent each second.
   * The actual obserced speed may be lower if the producer is unable to
   * work fast enough.
   * If this is zero or unset, the producer will send as fast as possible.
   *
   * @generated from field: optional uint32 max_messages_per_second = 2;
   */
  maxMessagesPerSecond: number;

  /**
   * The seed value for a simple multiplicative congruential pseudo-random
   * number sequence.
   *
   * @generated from field: optional uint32 seed = 3;
   */
  seed: number;

  /**
   * The size of each message in bytes. Should be greater than or equal 5 to
   * account for the number of bytes needed to encode the random number and a
   * null byte for the string.
   *
   * @generated from field: optional uint32 message_size = 4;
   */
  messageSize: number;

  /**
   * Whether the producer should send a event batch when the data source is
   * is initially registered.
   *
   * @generated from field: optional bool send_batch_on_register = 5;
   */
  sendBatchOnRegister: boolean;

  /**
   * @generated from field: optional perfetto.protos.TestConfig.DummyFields dummy_fields = 6;
   */
  dummyFields?: TestConfig_DummyFields;
};

/**
 * Describes the message perfetto.protos.TestConfig.
 * Use `create(TestConfigSchema)` to create a new message.
 */
export const TestConfigSchema: GenMessage<TestConfig> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_config_test_config, 0);

/**
 * @generated from message perfetto.protos.TestConfig.DummyFields
 */
export type TestConfig_DummyFields = Message<"perfetto.protos.TestConfig.DummyFields"> & {
  /**
   * @generated from field: optional uint32 field_uint32 = 1;
   */
  fieldUint32: number;

  /**
   * @generated from field: optional int32 field_int32 = 2;
   */
  fieldInt32: number;

  /**
   * @generated from field: optional uint64 field_uint64 = 3;
   */
  fieldUint64: bigint;

  /**
   * @generated from field: optional int64 field_int64 = 4;
   */
  fieldInt64: bigint;

  /**
   * @generated from field: optional fixed64 field_fixed64 = 5;
   */
  fieldFixed64: bigint;

  /**
   * @generated from field: optional sfixed64 field_sfixed64 = 6;
   */
  fieldSfixed64: bigint;

  /**
   * @generated from field: optional fixed32 field_fixed32 = 7;
   */
  fieldFixed32: number;

  /**
   * @generated from field: optional sfixed32 field_sfixed32 = 8;
   */
  fieldSfixed32: number;

  /**
   * @generated from field: optional double field_double = 9;
   */
  fieldDouble: number;

  /**
   * @generated from field: optional float field_float = 10;
   */
  fieldFloat: number;

  /**
   * @generated from field: optional sint64 field_sint64 = 11;
   */
  fieldSint64: bigint;

  /**
   * @generated from field: optional sint32 field_sint32 = 12;
   */
  fieldSint32: number;

  /**
   * @generated from field: optional string field_string = 13;
   */
  fieldString: string;

  /**
   * @generated from field: optional bytes field_bytes = 14;
   */
  fieldBytes: Uint8Array;
};

/**
 * Describes the message perfetto.protos.TestConfig.DummyFields.
 * Use `create(TestConfig_DummyFieldsSchema)` to create a new message.
 */
export const TestConfig_DummyFieldsSchema: GenMessage<TestConfig_DummyFields> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_config_test_config, 0, 0);

