Class: Deepstream::AckTimeoutRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/deepstream/ack_timeout_registry.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ AckTimeoutRegistry

Returns a new instance of AckTimeoutRegistry.



3
4
5
6
# File 'lib/deepstream/ack_timeout_registry.rb', line 3

def initialize(client)
  @client = client
  @timeouts = {}
end

Instance Method Details

#add(name, message) ⇒ Object



8
9
10
11
# File 'lib/deepstream/ack_timeout_registry.rb', line 8

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

#cancel(name) ⇒ Object



13
14
15
# File 'lib/deepstream/ack_timeout_registry.rb', line 13

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