# File lib/amq/protocol/client.rb, line 1389 def self.encode_properties(body_size, properties) pieces, flags = [], 0 properties.each do |key, value| i, f, result = self.send("encode_#{key}""encode_#{key}", value) flags |= f pieces[i] = result end # result = [60, 0, body_size, flags].pack("n2Qn") result = [60, 0].pack(PACK_UINT16_X2) result += AMQ::Hacks.pack_64_big_endian(body_size) result += [flags].pack(PACK_UINT16) result + pieces.join(EMPTY_STRING) end