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