def self.encode(channel, destination, source, routing_key, nowait, arguments)
ticket = 0
buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << destination.bytesize.chr
buffer << destination
buffer << source.bytesize.chr
buffer << source
buffer << routing_key.bytesize.chr
buffer << routing_key
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end