anchor.diff:      {ok, State}.
   
   
  +%% @doc Checks if the current round has converged yer <br/>
  +%%      Returns true if the round has converged, false otherwise.
   -spec round_has_converged(State::state()) -> {boolean(), state()}.
   round_has_converged(State) ->
       ConvergenceCount = convergence_count_new_round(),
       {has_converged(ConvergenceCount, State), State}.
   
   
  +%% @doc Notifies the gossip_load module about changes. <br/>
  +%%      Changes can be one of the following:
  +%%      <ol>
  +%%          <li> new_round <br/>
  +%%               Notifies the the callback module about the beginning of round </li>
  +%%          <li> leader <br/>
  +%%               Notifies the the callback module about a change in the key range
  +%%               of the node. The MsgTag indicates whether the node is a leader
  +%%               or not, the NewRange is the new key range of the node. </li>
  +%%          <li> exch_failure <br/>
  +%%               Notifies the the callback module about a failed message delivery,
  +%%               including the exchange data and round from the original message. </li>
  +%%      </ol>
   -spec notify_change(Keyword::new_round, NewRound::non_neg_integer(), State::state()) -> {ok, state()};
       (Keyword::leader, {MsgTag::is_leader | no_leader, NewRange::intervals:interval()},
               State::state()) -> {ok, state()};
  
positive.code: %% Callback Functions
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -spec init(Instance::instance()) -> {ok, state()}.
  init(Instance) ->
      init(Instance, no_of_buckets(), none).
  
  -spec init(Instance::instance(), NoOfBuckets::non_neg_integer()) -> {ok, state()}.
  init(Instance, NoOfBuckets) ->
      init(Instance, NoOfBuckets, none).
  
  -spec init(Instance::instance(), NoOfBuckets::non_neg_integer(),
                  Requestor::comm:mypid()|none) -> {ok, state()}.
  init(Instance, NoOfBuckets, Requestor) ->
  
negative.code:     {ok, State}.
  
  
  %% @doc Process the data from the requestor and select reply data. <br/>
  %%      Called by the behaviour module upon a p2p_exch message. <br/>
  %%      PData: exchange data from the p2p_exch request <br/>
  %%      Ref: used by the gossip module to identify the request <br/>
  %%      RoundStatus / Round: round information used for special handling of
  %%          messages from previous rounds <br/>
  %%      State: the state of the gossip_load module
  -spec select_reply_data(PData::load_data(), Ref::pos_integer(),
      RoundStatus::gossip_beh:round_status(), Round::non_neg_integer(),
      State::state()) -> {discard_msg | ok | retry | send_back, state()}.
  