Class: Freddy::RequestManager
- Inherits:
-
Object
- Object
- Freddy::RequestManager
- Defined in:
- lib/freddy/request_manager.rb
Instance Method Summary collapse
- #delete(correlation_id) ⇒ Object
-
#initialize(logger) ⇒ RequestManager
constructor
A new instance of RequestManager.
- #no_route(correlation_id) ⇒ Object
- #start ⇒ Object
- #store(correlation_id, opts) ⇒ Object
Constructor Details
#initialize(logger) ⇒ RequestManager
Returns a new instance of RequestManager.
4 5 6 7 |
# File 'lib/freddy/request_manager.rb', line 4 def initialize(logger) @requests = Hamster.mutable_hash @logger = logger end |
Instance Method Details
#delete(correlation_id) ⇒ Object
29 30 31 |
# File 'lib/freddy/request_manager.rb', line 29 def delete(correlation_id) @requests.delete(correlation_id) end |
#no_route(correlation_id) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/freddy/request_manager.rb', line 18 def no_route(correlation_id) if request = @requests[correlation_id] @requests.delete correlation_id request[:callback].call({error: 'Specified queue does not exist'}, nil) end end |
#start ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/freddy/request_manager.rb', line 9 def start @timeout_thread = Thread.new do while true do clear_timeouts Time.now sleep 0.05 end end end |
#store(correlation_id, opts) ⇒ Object
25 26 27 |
# File 'lib/freddy/request_manager.rb', line 25 def store(correlation_id, opts) @requests.store(correlation_id, opts) end |