there is a define at disk_log.hrl
-define(MIN_MD5_TERM, 65528).% (?MAX_CHUNK_SIZE - ?HEADERSZ)
and using at disk_log_1.erl
logl([X | T], Bs, Size) ->
Sz = byte_size(X),
BSz = <<Sz:?SIZESZ/unit:8>>,
NBs = case Sz < ?MIN_MD5_TERM of
true ->
[Bs, BSz, ?BIGMAGICHEAD | X];
false ->
MD5 = erlang:md5(BSz),
[Bs, BSz, ?BIGMAGICHEAD, MD5 | X]
end,
logl(T, NBs, Size + ?HEADERSZ + Sz);
I am curious about why an MD5 check is necessary.