# File lib/amqp/deprecated/rpc.rb, line 131 def initialize(channel, queue_name, impl) @channel = channel @exchange = AMQP::Exchange.default(@channel) @queue = @channel.queue(queue_name) @impl = impl @handlers = Hash.new @id = "client_identifier_#{rand(1_000_000)}" @queue.subscribe(:ack => true) do |header, payload| selector, *args = Marshal.load(payload) result = @impl.__send__(selector, *args) respond_to(header, result) if header.to_hash[:reply_to] header.ack end end