Sha256: 1665aa4ae63fabdddc881088c8557bd39cdf33cee35fd97b534024b26bdb2b65

Contents?: true

Size: 658 Bytes

Versions: 49

Compression:

Stored size: 658 Bytes

Contents

# frozen_string_literal: true

module Kafka

  class PendingMessageQueue
    attr_reader :size, :bytesize

    def initialize
      clear
    end

    def write(message)
      @messages << message
      @size += 1
      @bytesize += message.bytesize
    end

    def empty?
      @messages.empty?
    end

    def clear
      @messages = []
      @size = 0
      @bytesize = 0
    end

    def replace(messages)
      clear
      messages.each {|message| write(message) }
    end

    # Yields each message in the queue.
    #
    # @yieldparam [PendingMessage] message
    # @return [nil]
    def each(&block)
      @messages.each(&block)
    end
  end
end

Version data entries

49 entries across 49 versions & 4 rubygems

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