Object
@private
# File lib/amqp/deprecated/rpc.rb, line 99 99: def initialize(channel, server_queue_name) 100: @channel = channel 101: @exchange = AMQP::Exchange.default(@channel) 102: @server_queue_name = server_queue_name 103: 104: @handlers = Hash.new 105: @queue = channel.queue("__amqp_gem_rpc_client_#{rand(1_000_000)}", :auto_delete => true) 106: 107: @queue.subscribe do |header, payload| 108: *response_args = Marshal.load(payload) 109: handler = @handlers[header.message_id] 110: 111: handler.call(*response_args) 112: end 113: end
# File lib/amqp/deprecated/rpc.rb, line 115 115: def method_missing(selector, *args, &block) 116: @channel.once_open do 117: message_id = "message_identifier_#{rand(1_000_000)}" 118: 119: if block 120: @handlers[message_id] = block 121: @exchange.publish(Marshal.dump([selector, *args]), :routing_key => @server_queue_name, :reply_to => @queue.name, :message_id => message_id) 122: else 123: @exchange.publish(Marshal.dump([selector, *args]), :routing_key => @server_queue_name, :message_id => message_id) 124: end 125: end 126: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.