Class: EventMachine::Synchrony::AMQP::Queue

Inherits:
AMQP::Queue
  • Object
show all
Defined in:
lib/em-synchrony/amqp.rb

Instance Method Summary collapse

Constructor Details

#initialize(*params) ⇒ Queue

Returns a new instance of Queue.

Raises:



137
138
139
140
141
142
143
# File 'lib/em-synchrony/amqp.rb', line 137

def initialize(*params)
  f = Fiber.current
  super(*params, &EM::Synchrony::AMQP.sync_cb(f))
  queue, declare_ok = Fiber.yield
  raise Error.new unless declare_ok.is_a?(::AMQ::Protocol::Queue::DeclareOk)
  queue
end

Instance Method Details

#asubscribeObject



145
# File 'lib/em-synchrony/amqp.rb', line 145

alias :asubscribe :subscribe

#subscribe(&block) ⇒ Object



146
147
148
149
150
151
# File 'lib/em-synchrony/amqp.rb', line 146

def subscribe &block
  Fiber.new do
    asubscribe(&EM::Synchrony::AMQP.sync_cb(Fiber.current))
    loop { block.call(Fiber.yield) }
  end.resume
end