def initialize(client, name, opts = {})
raise Bunny::ConnectionError, 'Not connected to server' if client.status == :not_connected
@client = client
@opts = opts
@delivery_tag = nil
if !name
opts = {
:passive => false,
:durable => false,
:exclusive => true,
:auto_delete => true,
:deprecated_ticket => 0
}.merge(opts)
end
opts.delete(:nowait)
opts = { :queue => name || '', :nowait => false, :deprecated_ticket => 0 }.merge(opts)
client.send_frame(Qrack::Protocol09::Queue::Declare.new(opts))
method = client.next_method
client.check_response(method, Qrack::Protocol09::Queue::DeclareOk, "Error declaring queue #{name}")
@name = method.queue
client.queues[@name] = self
end