Sha256: 94fc7305ee6a539a01c08aac583dca77db3593eb547ded8e77e2220beb1ae049

Contents?: true

Size: 378 Bytes

Versions: 13

Compression:

Stored size: 378 Bytes

Contents

module Deepstream
  class AckTimeoutRegistry
    def initialize(client)
      @client = client
      @timeouts = {}
    end

    def add(name, message)
      return unless (timeout = @client.options[:ack_timeout])
      @timeouts[name] = Celluloid.after(timeout) { @client.on_error(message) }
    end

    def cancel(name)
      @timeouts.delete(name)&.cancel
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
deepstream-0.3.2 lib/deepstream/ack_timeout_registry.rb
deepstream-0.3.1 lib/deepstream/ack_timeout_registry.rb
deepstream-0.3.0 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.9 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.8 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.7 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.6 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.5 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.4 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.3 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.2 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.1 lib/deepstream/ack_timeout_registry.rb
deepstream-0.2.0 lib/deepstream/ack_timeout_registry.rb