anchor.diff:  state_inc_opentxnum(State) -> setelement(7, State, element(7, State) + 1).
   -spec state_dec_opentxnum(state()) -> state().
   state_dec_opentxnum(State) -> setelement(7, State, element(7, State) - 1).
  --spec state_get_qmsg(state()) -> msg_queue:msg_queue().
  -state_get_qmsg(State)          -> element(8, State).
  --spec state_set_qmsg(state(), msg_queue:msg_queue()) -> state().
  -state_set_qmsg(State, Val)     -> setelement(8, State, Val).
   
   -spec state_subscribe(state(), comm:mypid()) -> state().
   state_subscribe(State, Pid) ->
  
positive.code:     case lists:keymember(unknown, 2, NewRTMs) of %% filled all entries?
          false ->
              rtms_of_same_dht_node(NewRTMs),
              msg_queue:send(state_get_qmsg(State)),
              NewState = state_set_qmsg(State, []),
              gen_component:change_handler(
                state_set_RTMs(NewState, NewRTMs), on);
          _ -> state_set_RTMs(State, NewRTMs)
      end;
  
  
negative.code:         tx_tm ->
              comm:send_local(self(), {get_node_details}),
              State = {_RTMs = [], TableName, Role, LAcceptor, GLLearner,
                       [], 0},
              %% subscribe to id changes
              rm_loop:subscribe(self(), ?MODULE,
                                fun rm_loop:subscribe_dneighbor_change_filter/3,
                                fun ?MODULE:rm_send_update/4, inf),
              gen_component:change_handler(State, on_init);
          _ -> {_RTMs = [], TableName, Role, LAcceptor, GLLearner, [], 0}
      end.
  
  -spec on(comm:message(), state()) -> state().
  