AMQP 'b' frames are being converted to a signed short short,
it should be changed in lib/amq/protocol/table_value_decoder.rb to
def self.decode_short_short(data, offset)
v = data.slice(offset, 1).unpack(PACK_CHAR).first
offset += 1
PACK_INT8 vs PACK_CHAR.
(Note this is called from the TableValueDecoder which calls it via line 53: when TYPE_SIGNED_8BIT then this should probably be reflected all the way up to be unsigned.)
A pull request will be made shortly
Fixed in #42.