Sha256: 2a9dc38af28b2acde10c755d663f01d38c0aace441101e821878842e4d58f645
Contents?: true
Size: 788 Bytes
Versions: 4
Compression:
Stored size: 788 Bytes
Contents
# frozen_string_literal: true class Freddy class RequestManager def initialize(logger) @requests = ConcurrentHash.new @logger = logger end def no_route(correlation_id) request = @requests[correlation_id] return unless request delete(correlation_id) request[:callback].call({ error: 'Specified queue does not exist' }, nil) end def store(correlation_id, opts) @requests[correlation_id] = opts end def delete(correlation_id) @requests.delete(correlation_id) end class ConcurrentHash < Hash # CRuby hash does not need any locks. Only adding when using JRuby. if RUBY_PLATFORM == 'java' require 'jruby/synchronized' include JRuby::Synchronized end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
freddy-1.7.0 | lib/freddy/request_manager.rb |
freddy-1.6.0 | lib/freddy/request_manager.rb |
freddy-1.5.0 | lib/freddy/request_manager.rb |
freddy-1.4.2 | lib/freddy/request_manager.rb |