Class: MQBench::AMQP

Inherits:
Client show all
Defined in:
lib/mqbench/amqp.rb

Constant Summary

Constants inherited from Client

Client::QNAME

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ AMQP

Returns a new instance of AMQP.



5
6
7
8
9
10
11
12
13
14
# 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

Instance Method Details

#recv_msgObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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_msgObject



16
17
18
19
20
21
22
23
24
25
# 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