anchor.diff:                  %% when we get a client, we will inform it
                   pdb:set(TmpEntry, Table);
               Client ->
  -                NewEntry =
  -                    case state_is_newly_decided(TmpEntry) of
  -                        true  -> inform_client(Client, TmpEntry);
  -                        false -> TmpEntry
  -                    end,
  -                set_or_delete_if_all_replied(NewEntry, Reps, Table)
  +                set_and_inform_client_if_ready(Client, TmpEntry, Reps, Table)
           end,
       State;
   
  
positive.code:     Tmp0Entry = state_set_op(Entry, Op),
      Tmp1Entry = state_set_client(Tmp0Entry, Pid),
      TmpEntry = state_set_key(Tmp1Entry, Key),
      _ = case state_is_newly_decided(TmpEntry) of
              true ->
                  Tmp2Entry = inform_client(Pid, TmpEntry),
                  set_or_delete_if_all_replied(Tmp2Entry, Reps, Table);
              false -> pdb:set(TmpEntry, Table)
          end,
  %    State;
  %
  %%% triggered periodically
  
negative.code: %         _ -> ok
  %     end.
  
  %% @doc Informs the client if a decision has been taken and the client is not
  %%      informed yet. Also sets the state into the pdb.
  -spec set_and_inform_client_if_ready(pid(), read_state(), Reps::pos_integer(),
                                       Table::atom()) -> ok.
  set_and_inform_client_if_ready(Client, Entry, Reps, Table) ->
      _ = case state_is_newly_decided(Entry) of
              true ->
                  % if partial read and decided is ?value -> set to ?partial_value!
                  % ?read | ?write | ?random_from_list | {?sublist, Start::pos_integer() | neg_integer(), Len::integer()}
                  Op = state_get_op(Entry),
                  Entry2 = if Op =:= ?read -> Entry;
                              true ->
                                  case state_get_decided(Entry) of
                                      ?value -> state_set_decided(Entry, ?partial_value);
                                      _ -> Entry
                                  end
                           end,
                  Id = state_get_id(Entry2),
                  Msg = msg_reply(Id, make_tlog_entry(Entry2)),
                  comm:send_local(Client, Msg),
                  Entry3 = state_set_client_informed(Entry2),
                  set_or_delete_if_all_replied(Entry3, Reps, Table);
              false -> pdb:set(Entry, Table)
          end,
      ok.
  
  %% -spec make_tlog_entry_feeder(
  %%         {read_state(), ?RT:key()})
  