anchor.diff:  % Misc.
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  -%% @doc Notifies the node's routing table of a changed node ID, predecessor
  -%%      and/or successor. Used to subscribe to the ring maintenance.
  +%% @doc Filter function for subscriptions that returns true if a
  +%%      any neighbor changes.
  +-spec rm_neighbor_change(
  +        OldNeighbors::nodelist:neighborhood(), NewNeighbors::nodelist:neighborhood(),
  +        Reason::rm_loop:reason()) -> boolean().
  +rm_neighbor_change(OldNeighbors, NewNeighbors, _Reason) ->
  +    OldNeighbors =/= NewNeighbors.
  +
  +%% @doc Notifies the node's routing table of a changed neighborhood.
  +%%      Used to subscribe to the ring maintenance.
   -spec rm_send_update(Subscriber::pid(), Tag::?MODULE,
                        OldNeighbors::nodelist:neighborhood(),
                        NewNeighbors::nodelist:neighborhood(),
  
positive.code: % unknown message
  on_active(Message, State) ->
      ?RT:handle_custom_message(Message, State).
  
  
  -spec lookup_aux_chord(Neighbors::nodelist:neighborhood(), RT::?RT:rt(), Key::intervals:key(),
                         Hops::non_neg_integer(), Msg::comm:message()) -> ok.
  
negative.code:          activate/1, deactivate/0,
           check_config/0,
           get_neighb/1, get_rt/1, set_rt/2,
           rm_neighbor_change/3, rm_send_update/5]).
  
  -export_type([state_active/0]).
  
  