anchor.diff:    when is_atom(DigestType) andalso is_pid(CallerPid) ->
     CallerPid ! { message_serialized, { ok, DigestType, digest_to_binary( #digestEnvelope{
                                                           payload_type = atom_to_list(DigestType),
  -                                                        bin_payload = digest_to_binary(Digest, StructInfo, OutThriftProtocol),
  +                                                        bin_payload = base64:encode(digest_to_binary(Digest, StructInfo, OutThriftProtocol)),
                                                           id = uuid:uuid_to_string(uuid:get_v4())
                                                         },
                                                         gossiperl_types:struct_info(digestEnvelope),
  
positive.code:       {error, not_thrift}
    end.
  
  %% @doc Get digest type as atom. Avoid convertion to atoms using erlang functions.
  -spec digest_type_as_atom( binary() ) -> { ok, atom() } | { error, binary() }.
  digest_type_as_atom(<<"digestError">>)                 -> { ok, digestError };
  digest_type_as_atom(<<"digestForwardedAck">>)          -> { ok, digestForwardedAck };
  
negative.code:                               DigestType,
                                digest_to_binary( #digestEnvelope{
                                                    payload_type = atom_to_list(DigestType),
                                                    bin_payload = base64:encode(digest_to_binary(Digest, StructInfo, OutThriftProtocol)),
                                                    id = MessageId
                                                  },
                                                  gossiperl_types:struct_info(digestEnvelope),
  