# typed: ignore

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

require 'sqreen/ecosystem/util/call_writers_from_init'

module Sqreen
  module Ecosystem
    module ModuleApi
      module Tracing
        # The data the tracing module needs in order to populate
        # +Sqreen::Ecosystem::Tracing::Signals::TracingConsumer::Payload+ and
        # +Sqreen::Ecosystem::Tracing::Signals::TracingProducer::Payload+.
        #
        # Signals are not produced by the data producers (transport)
        # because of superior orders, as the only current use of this
        # data is to generate signals.
        module MessagingData
          include Util::CallWritersFromInit

          # @return [Symbol]
          attr_accessor :message_type

          # @return [String]
          attr_accessor :host

          # @return [String]
          attr_accessor :ip

          # @return [String]
          attr_accessor :topic

          # @return [String]
          attr_accessor :tracing_identifier
        end
      end
    end
  end
end