anchor.diff:                          ChunkExtra, #state{flu_name=FluName}=_S) ->
       %% TODO: Do anything with PKey?
       try
  -        CSum = case CSum_tag of
  -                   ?CSUM_TAG_NONE ->
  -                       %% TODO: If the client was foolish enough to use
  -                       %% this type of non-checksum, then the client gets
  -                       %% what it deserves wrt data integrity, alas.  In
  -                       %% the client-side Chain Replication method, each
  -                       %% server will calculated this independently, which
  -                       %% isn't exactly what ought to happen for best data
  -                       %% integrity checking.  In server-side CR, the csum
  -                       %% should be calculated by the head and passed down
  -                       %% the chain together with the value.
  -                       CS = machi_util:checksum_chunk(Chunk),
  -                       machi_util:make_tagged_csum(server_sha, CS);
  -                   ?CSUM_TAG_CLIENT_SHA ->
  -                       CS = machi_util:checksum_chunk(Chunk),
  -                       if CS == Client_CSum ->
  -                               machi_util:make_tagged_csum(server_sha,
  -                                                           Client_CSum);
  -                          true ->
  -                               throw({bad_csum, CS})
  -                       end
  -               end,
  -        FluName ! {seq_append, self(), Prefix, Chunk, CSum, ChunkExtra},
  +        TaggedCSum = check_or_make_tagged_checksum(CSum_tag, Client_CSum,Chunk),
  +        FluName ! {seq_append, self(), Prefix, Chunk, TaggedCSum, ChunkExtra},
           receive
               {assignment, Offset, File} ->
                   Size = iolist_size(Chunk),
  
positive.code:             append_server_loop(FluPid, S)
      end.
  
  -define(EpochIDSpace, ((4*2)+(20*2))).          % hexencodingwhee!
  -define(CSumSpace, ((1*2)+(20*2))).             % hexencodingwhee!
  
  net_server_loop(Sock, S) ->
      case gen_tcp:recv(Sock, 0, ?SERVER_CMD_READ_TIMEOUT) of
          {ok, Bin} ->
  
negative.code: -include("machi.hrl").
  -include("machi_pb.hrl").
  -include("machi_projection.hrl").
  
  -ifdef(TEST).
  -include_lib("eunit/include/eunit.hrl").
  -endif. % TEST
  
  -define(SERVER_CMD_READ_TIMEOUT, 600*1000).
  
  