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:     %%                        end, State, listwithalltids),
      State;
  
  %% periodic RTM update
  on({update_RTMs},
     {RTMs, _TableName, tx_tm, _LAcceptor, _GLLearner} = State) ->
  
negative.code: commit(TM, Client, ClientsID, TLog) ->
      Msg = {tx_tm_rtm_commit, Client, ClientsID, TLog},
      comm:send_local(TM, Msg).
  
  %% @doc Notifies the tx_tm_rtm of a changed node ID.
  -spec rm_send_update(Subscriber::pid(), Tag::?MODULE,
                       OldNeighbors::nodelist:neighborhood(),
                       NewNeighbors::nodelist:neighborhood()) -> ok.
  rm_send_update(Pid, ?MODULE, OldNeighbors, NewNeighbors) ->
      OldId = node:id(nodelist:node(OldNeighbors)),
      NewId = node:id(nodelist:node(NewNeighbors)),
      case OldId =/= NewId of
          true  -> comm:send_local(Pid, {new_node_id, NewId});
          false -> ok
      end.
  
  %% be startable via supervisor, use gen_component
  -spec start_link(pid_groups:groupname(), any()) -> {ok, pid()}.
  