class Deepstream::AckTimeoutRegistry

Public Class Methods

new(client) click to toggle source
# File lib/deepstream/ack_timeout_registry.rb, line 3
def initialize(client)
  @client = client
  @timeouts = {}
end

Public Instance Methods

add(name, message) click to toggle source
# File lib/deepstream/ack_timeout_registry.rb, line 8
def add(name, message)
  return unless (timeout = @client.options[:ack_timeout])
  @timeouts[name] = Thread.new do
    sleep timeout
    @client.on_error(message)
  end
end
cancel(name) click to toggle source
# File lib/deepstream/ack_timeout_registry.rb, line 16
def cancel(name)
  @timeouts[name].exit rescue nil
  @timeouts.delete(name)
end