1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
|
# File 'lib/amq/protocol/client.rb', line 1501
def self.encode_properties(body_size, properties)
pieces, flags = [], 0
properties.reject {|key, value| value.nil?}.each do |key, value|
i, f, result = self.__send__(:"encode_#{key}", value)
flags |= f
pieces[i] = result
end
result = [60, 0].pack(PACK_UINT16_X2)
result += AMQ::Pack.pack_uint64_big_endian(body_size)
result += [flags].pack(PACK_UINT16)
pieces_joined = pieces.join(EMPTY_STRING)
result.force_encoding(pieces_joined.encoding) + pieces_joined
end
|