class MQBench::AMQP

Public Class Methods

new(args) click to toggle source
Calls superclass method
# File lib/mqbench/amqp.rb, line 5
def initialize(args)
  @port = 5672
  @user = 'guest'
  @pass = 'guest'
  
  super(args)
  
  @broker = Bunny.new(:host => @host, :port => @port, :user => @user, :pass => @pass)
  @broker.start
end

Public Instance Methods

recv_msg() click to toggle source
# File lib/mqbench/amqp.rb, line 27
def recv_msg
  ch = @broker.create_channel
  q = ch.queue(QNAME)

  cnt = 0
  q.subscribe(:block => true) do |delivery_info, _, _|
    cnt += 1
    if cnt >= @count
      delivery_info.consumer.cancel
      break
    end
  end

  ch.close
end
send_msg() click to toggle source
# File lib/mqbench/amqp.rb, line 16
def send_msg
  ch = @broker.create_channel
  q = ch.queue(QNAME)

  (1..@count).each do |_|
    q.publish('a' * @size)
  end

  ch.close
end