anchor.diff:  %% public interface for transaction validation using Paxos-Commit.
   -export([commit/4]).
   -export([msg_commit_reply/3]).
  +-export([rm_send_update/4]).
   
   %% functions for gen_component module, supervisor callbacks and config
   -export([start_link/2]).
  
positive.code:     %% TableName = pdb:new(?MODULE, [set, private]),
      LAcceptor = get_my(Role, acceptor),
      GLLearner = comm:make_global(get_my(Role, learner)),
  
      %% start getting rtms and maintain them.
      case Role of
          tx_tm ->
              comm:send_local(pid_groups:get_my(dht_node),
                              {get_node_details, comm:this(), [node]}),
              State = {_RTMs = [], TableName, Role, LAcceptor, GLLearner, msg_queue:new()},
              gen_component:change_handler(State, on_init);
          _ -> {_RTMs = [], TableName, Role, LAcceptor, GLLearner}
      end.
  
negative.code:     %%                        end, State, listwithalltids),
      State;
  
  on({new_node_id, Id}, {RTMs, TableName, tx_tm, LAcceptor, GLLearner}) ->
      IDs = ?RT:get_replica_keys(Id),
      NewRTMs = [ set_rtmkey(R, I) || {R, I} <- lists:zip(RTMs, IDs) ],
      {NewRTMs, TableName, tx_tm, LAcceptor, GLLearner};
  %% periodic RTM update
  on({update_RTMs},
     {RTMs, _TableName, tx_tm, _LAcceptor, _GLLearner} = State) ->
  