# File lib/amqp/client.rb, line 132 def close(&on_disconnect) if on_disconnect @closing = true @on_disconnect = proc { on_disconnect.call @closing = false } end callback { |c| if c.channels.any? c.channels.each do |ch, mq| mq.close end else send Protocol::Connection::Close.new(:reply_code => 200, :reply_text => 'Goodbye', :class_id => 0, :method_id => 0) end } end