anchor.diff:  -spec max_cycles_per_round() -> infinity.
   max_cycles_per_round() ->
       infinity.
  +
  +
  +%% @doc Gets the cyclon_shuffle_length parameter that defines how many entries
  +%%      of the cache are exchanged.
  +-spec shuffle_length() -> pos_integer().
  +shuffle_length() ->
  +    config:read(cyclon_shuffle_length).
  +
  +
  +%% @doc Gets the cyclon_cache_size parameter that defines how many entries a
  +%%      cache should at most have.
  +-spec cache_size() -> pos_integer().
  +cache_size() ->
  +    config:read(cyclon_cache_size).
  +
  +%% @doc Cycon doesn't need instantiabilty, so {gossip_cyclon, default} is always
  +%%      used.
  +-spec instance() -> {gossip_cyclon, default}.
  +-compile({inline, [instance/0]}).
  +instance() ->
  +    {gossip_cyclon, default}.
   
   -spec check_config() -> boolean().
   check_config() ->
  
positive.code: %%      Called by the gossip module at the beginning of every cycle. <br/>
  %%      The selected exchange data is sent back to the gossip module as a message
  %%      of the form {selected_data, Instance, ExchangeData}.
  -spec select_data(State::state()) -> {ok, state()}.
  select_data(State) ->
      %% cy_shuffle <=> gossip_trigger -> select_data()
      {ok, State}.
  
  
  %% @doc Process the data from the requestor and select reply data. <br/>
  
negative.code:     %% (i.e. in on_active({cy_shuffle})).
      {ok, State};
  handle_msg({get_dht_nodes_response, _Nodes}, State) ->
      ?TRACE_DEBUG("get_dht_nodes_response", []),
      %% Response to get_dht_nodes message from service_per_vm. Contains a list of
      %% registered dht nodes from service_per_vm. Initiated in
      %% handle_msg({get_node_details_response, _NodeDetails} if the cache is empty.
  