def self.encode(channel, queue, consumer_tag, no_local, no_ack, exclusive, nowait, arguments)
ticket = 0
buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
buffer << consumer_tag.bytesize.chr
buffer << consumer_tag
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if no_local
bit_buffer = bit_buffer | (1 << 1) if no_ack
bit_buffer = bit_buffer | (1 << 2) if exclusive
bit_buffer = bit_buffer | (1 << 3) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end