Sha256: 994f1fa66ed5ae05d9f4eae64a64ccb52f19c510bcd7fc1c73ffd551e35f84f3

Contents?: true

Size: 640 Bytes

Versions: 93

Compression:

Stored size: 640 Bytes

Contents

module Bunny
  # Wraps a delivery tag (which is an integer) so that {Bunny::Channel} could
  # detect stale tags after connection recovery.
  #
  # @private
  class VersionedDeliveryTag
    attr_reader :tag
    attr_reader :version

    def initialize(tag, version)
      raise ArgumentError.new("tag cannot be nil") unless tag
      raise ArgumentError.new("version cannot be nil") unless version

      @tag     = tag.to_i
      @version = version.to_i
    end

    def to_i
      @tag
    end

    def stale?(version)
      raise ArgumentError.new("version cannot be nil") unless version

      @version < version.to_i
    end
  end
end

Version data entries

93 entries across 93 versions & 2 rubygems

Version Path
bunny-2.23.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.22.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.21.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.20.3 lib/bunny/versioned_delivery_tag.rb
bunny-2.20.2 lib/bunny/versioned_delivery_tag.rb
bunny-2.20.1 lib/bunny/versioned_delivery_tag.rb
bunny-2.20.0 lib/bunny/versioned_delivery_tag.rb
garaio_bunny-2.19.2 lib/bunny/versioned_delivery_tag.rb
garaio_bunny-2.19.1 lib/bunny/versioned_delivery_tag.rb
bunny-2.19.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.18.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.17.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.16.1 lib/bunny/versioned_delivery_tag.rb
bunny-2.15.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.14.4 lib/bunny/versioned_delivery_tag.rb
bunny-2.14.3 lib/bunny/versioned_delivery_tag.rb
bunny-2.14.2 lib/bunny/versioned_delivery_tag.rb
bunny-2.14.1 lib/bunny/versioned_delivery_tag.rb
bunny-2.13.0 lib/bunny/versioned_delivery_tag.rb
bunny-2.12.1 lib/bunny/versioned_delivery_tag.rb