Sha256: 2161896f36e464ff498747a3f584f6a5d12dc12c4f2adf146de415da1713bb75

Contents?: true

Size: 1.94 KB

Versions: 25

Compression:

Stored size: 1.94 KB

Contents

# frozen_string_literal: true

module Kafka
  module Protocol
    class DescribeGroupsResponse
      class Group
        attr_reader :error_code, :group_id, :state, :members, :protocol

        def initialize(error_code:, group_id:, protocol_type:, protocol:, state:, members:)
          @error_code = error_code
          @group_id = group_id
          @protocol_type = protocol_type
          @protocol = protocol
          @state = state
          @members = members
        end
      end

      class Member
        attr_reader :member_id, :client_id, :client_host, :member_assignment

        def initialize(member_id:, client_id:, client_host:, member_assignment:)
          @member_id = member_id
          @client_id = client_id
          @client_host = client_host
          @member_assignment = member_assignment
        end
      end

      attr_reader :error_code, :groups

      def initialize(groups:)
        @groups = groups
      end

      def self.decode(decoder)
        groups = decoder.array do
          error_code = decoder.int16
          group_id = decoder.string
          state = decoder.string
          protocol_type = decoder.string
          protocol = decoder.string

          members = decoder.array do
            member_id = decoder.string
            client_id = decoder.string
            client_host = decoder.string
            _metadata = decoder.bytes
            assignment = MemberAssignment.decode(Decoder.from_string(decoder.bytes))

            Member.new(
              member_id: member_id,
              client_id: client_id,
              client_host: client_host,
              member_assignment: assignment
            )
          end

          Group.new(
            error_code: error_code,
            group_id: group_id,
            state: state,
            protocol_type: protocol_type,
            protocol: protocol,
            members: members
          )
        end

        new(groups: groups)
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 4 rubygems

Version Path
ruby-kafka-1.5.0 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-aws-iam-1.4.5 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-aws-iam-1.4.4 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-aws-iam-1.4.3 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-aws-iam-1.4.2 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-aws-iam-1.4.1 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-1.4.0 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-temp-fork-0.0.2 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-temp-fork-0.0.1 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-1.3.0 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-1.2.0 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-1.1.0 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-1.1.0.beta1 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-1.0.0 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-0.7.10 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-0.7.9 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-0.7.8 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-0.7.7 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-custom-0.7.7.26 lib/kafka/protocol/describe_groups_response.rb
ruby-kafka-0.7.6 lib/kafka/protocol/describe_groups_response.rb