# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: ignition/msgs/discovery.proto

require 'ignition/msgs/header_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("ignition/msgs/discovery.proto", :syntax => :proto3) do
    add_message "ignition.msgs.Discovery" do
      optional :header, :message, 1, "ignition.msgs.Header"
      optional :version, :uint32, 2
      optional :process_uuid, :string, 3
      optional :type, :enum, 4, "ignition.msgs.Discovery.Type"
      optional :flags, :message, 5, "ignition.msgs.Discovery.Flags"
      oneof :disc_contents do
        optional :sub, :message, 6, "ignition.msgs.Discovery.Subscriber"
        optional :pub, :message, 7, "ignition.msgs.Discovery.Publisher"
      end
    end
    add_message "ignition.msgs.Discovery.Flags" do
      optional :relay, :bool, 1
      optional :no_relay, :bool, 2
    end
    add_message "ignition.msgs.Discovery.Subscriber" do
      optional :topic, :string, 1
    end
    add_message "ignition.msgs.Discovery.Publisher" do
      optional :topic, :string, 1
      optional :address, :string, 2
      optional :process_uuid, :string, 3
      optional :node_uuid, :string, 4
      optional :scope, :enum, 5, "ignition.msgs.Discovery.Publisher.Scope"
      oneof :pub_type do
        optional :msg_pub, :message, 6, "ignition.msgs.Discovery.Publisher.MessagePublisher"
        optional :srv_pub, :message, 7, "ignition.msgs.Discovery.Publisher.ServicePublisher"
      end
    end
    add_message "ignition.msgs.Discovery.Publisher.MessagePublisher" do
      optional :ctrl, :string, 1
      optional :msg_type, :string, 2
      optional :throttled, :bool, 3
      optional :msgs_per_sec, :uint64, 4
    end
    add_message "ignition.msgs.Discovery.Publisher.ServicePublisher" do
      optional :socket_id, :string, 1
      optional :request_type, :string, 2
      optional :response_type, :string, 3
    end
    add_enum "ignition.msgs.Discovery.Publisher.Scope" do
      value :PROCESS, 0
      value :HOST, 1
      value :ALL, 2
    end
    add_enum "ignition.msgs.Discovery.Type" do
      value :UNINITIALIZED, 0
      value :ADVERTISE, 1
      value :SUBSCRIBE, 2
      value :UNADVERTISE, 3
      value :HEARTBEAT, 4
      value :BYE, 5
      value :NEW_CONNECTION, 6
      value :END_CONNECTION, 7
    end
  end
end

module Ignition
  module Msgs
    Discovery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery").msgclass
    Discovery::Flags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Flags").msgclass
    Discovery::Subscriber = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Subscriber").msgclass
    Discovery::Publisher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Publisher").msgclass
    Discovery::Publisher::MessagePublisher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Publisher.MessagePublisher").msgclass
    Discovery::Publisher::ServicePublisher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Publisher.ServicePublisher").msgclass
    Discovery::Publisher::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Publisher.Scope").enummodule
    Discovery::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Discovery.Type").enummodule
  end
end
