    # File lib/amqp/channel.rb, line 1140
        def reset(&block)
          # See AMQ::Client::Channel
          self.reset_state!

          # there is no way to reset a deferrable; we have to use a new instance. MK.
          @channel_is_open_deferrable = AMQ::Client::EventMachineClient::Deferrable.new
          @channel_is_open_deferrable.callback(&block)

          @connection.on_connection do
            @channel_is_open_deferrable.succeed

            self.prefetch(@options[:prefetch], false) if @options[:prefetch]
          end
        end