anchor.diff:      Metric, Time, Value)
     when is_binary(Value)
          ->
  +    ?DT_WRITE_ENTRY(Metric, Time, mmath_bin:length(Value)),
       <<IndexAsInt:160/integer>> = chash:key_of({Seed, Metric}),
       Idx = chash:next_index(IndexAsInt, CHash),
       Count = byte_size(Value) / ?DATA_SIZE,
  
positive.code:             end,
      case do_put(MSet1#mset{dir=[D, $/, integer_to_list(Idx)]}, Metric, Parts1, Value, CurFiles) of
          CurFiles1 when CurFiles1 =:= CurFiles ->
              MSet1;
          CurFiles1 ->
              CHash1 = chash:update(Idx, CurFiles1, CHash),
              MSet1#mset{chash = CHash1}
      end;
  
  
negative.code:     do_put(MSet, Metric, R, DataRest, [{FileBase, F2} | Files]).
  
  get(#mset{size=S, chash=CHash, dir=D, seed=Seed}, Metric, Time, Count) ->
      ?DT_READ_ENTRY(Metric, Time, Count),
      Parts = make_splits(Time, Count, S, []),
      <<IndexAsInt:160/integer>> = chash:key_of({Seed, Metric}),
      Idx = chash:next_index(IndexAsInt, CHash),
      Dir = [D, "/", integer_to_list(Idx)],
      FS = chash:lookup(Idx, CHash),
      R = do_get(S, FS, Dir, Metric, Parts, <<>>),
      ?DT_READ_RETURN,
      R.
  
  do_get(_, _, _, _, [], Acc) ->
      {ok, Acc};
  