anchor.diff:  %%--------------------------------------------------------------------
   %% @doc
   %% Get nodes that are responsible for the data labeled with given term.
  -%% Returns three lists: alvie connected nodes, other alive nodes and broken nodes.
  -%% Sum of lists' length is equal to requested nodes' count.
  +%% Returns three lists: alvie connected nodes, other alive nodes (if requested more that are connected with label
  +%% by default) and broken nodes. Sum of lists' length is equal to requested nodes' count.
   %% @end
   %%--------------------------------------------------------------------
   -spec get_nodes(term(), non_neg_integer() | all) ->
  
positive.code:     type :: single_node | multi_node | broken,
      chash :: chash:chash() | node(),
      broken_nodes = [] :: [node()],
      key_connected_nodes = 1 :: pos_integer(),
      nodes_num :: non_neg_integer()
  }).
  
  
negative.code: %%% @doc
  %%% Auxiliary functions for managing consistent hashing ring and mapping
  %%% terms (usually UUIDs) to nodes in the ring.
  %%% Base for most functions is record ring that represents information about cluster.
  %%% It is assumed that particular number of nodes is associated with each key/label
  %%% but it is possible to request more.
  %%% @end
  %%%--------------------------------------------------------------------
  -module(consistent_hashing).
  