anchor.diff:  -include("scalaris.hrl").
   -include("record_helpers.hrl").
   
  --define(TRACE(X,Y), ok).
  -%%-define(TRACE(X,Y), io:format(X,Y)).
  --define(TRACE(X), ?TRACE(X, [])).
  +-define(TRACE2(X,Y), ok).
  +%%-define(TRACE2(X,Y), io:format(X,Y)).
  +-define(TRACE1(X), ?TRACE2(X, [])).
   
   -export([start_link/1, init/1]).
   -export([on/2, process_lb_msg/2]).
  
positive.code: 		 %orelse node_details:get(HeavyNode, node) =:= node_details:get(LightNode, pred) of
  		true ->
  			% neighbors, thus sliding
  			?TRACE("We're neighbors~n"),
              %% slide in phase1 or phase2
  			comm:send(node:pidX(HeavyNode), {balance_load, slide, LightNodeDetails});
  		_ ->
  			% ask the successor of the light node how much load he carries
  			?TRACE("Nodes not adjacent, requesting information about neighbors~n"),
  			comm:send(node:pidX(LightNodeSucc), {balance_load, phase2, HeavyNodeDetails, LightNodeDetails})
  	end.
  
  
negative.code: 
  %% No random nodes available via cyclon
  on({cy_cache, []}, State) ->
      ?TRACE1("Cyclon returned no random node~n"),
      State;
  
  %% Got a random node via cyclon
  on({cy_cache, [RandomNode]}, State) ->
      ?TRACE1("Got random node~n"),
      LocalPid = pid_groups:get_my(dht_node),
  	GlobalPid = comm:make_global(LocalPid),
  	Envelope = comm:reply_as(comm:this(), 2, {my_dht_response, '_'}),
  