An Erlang implementation of Thrift protocol.
Body = #thrift_protocol_struct{ fields = #{1 => true, 2 => {i8, -1}} }, Message = #thrift_protocol_message{ method_name = <<"foo">>, message_type = call, sequence_id = 0, body = Body }, Encoded = list_to_binary(thrift_protocol:encode_message(Message, compact)), <<130,33,0,3,102,111,111,17,19,255,0>> = Encoded, {Decoded, <<>>} = thrift_protocol:decode_message(Encoded, compact), Message = Decoded.