anchor.diff:           regen_count      = 0      :: non_neg_integer(),
            update_count     = 0      :: non_neg_integer(),
            upd_fail_count   = 0      :: non_neg_integer(),
  -         regen_fail_count = 0      :: non_neg_integer(),
  -         feedback_response= false  :: boolean() %true if this is a feedback response
  +         regen_fail_count = 0      :: non_neg_integer()
            }).
   -type stats() :: #resolve_stats{}.
   
  
positive.code: -export_type([stats/0]).
  -endif.
  
  -type option()   :: feedback_response |
                      {feedback_request, comm:mypid()} |
                      {send_stats, comm:mypid()} | %send stats to pid after completion
                      {session_id, rrepair:session_id()} |
                      {from_my_node, 0 | 1}.
  
negative.code: 
  on({start, Operation, Options}, State) ->
      FBDest = proplists:get_value(feedback_request, Options, undefined),
      FromMyNode = proplists:get_value(from_my_node, Options, 1),
      StatsDest = proplists:get_value(send_stats, Options, undefined),
      SID = proplists:get_value(session_id, Options, null),
      NewState = State#rr_resolve_state{ operation = Operation,
                                         stats = #resolve_stats{session_id = SID},
                                         feedbackDestPid = FBDest,
                                         send_stats = StatsDest,
                                         from_my_node = FromMyNode },
      ?TRACE("RESOLVE START - Operation=~p~n FeedbackTo=~p~n SessionId:~p",
             [util:extint2atom(element(1, Operation)), FBDest, SID], NewState),
      comm:send_local(State#rr_resolve_state.dhtNodePid, {get_state, comm:this(), my_range}),
      NewState;
  
  