anchor.diff:      ok.
   
   %%------------------------------------------------------------------------------
  -%% Register an reported source address of known peer P. Ignored if P is unknown
  +%% Register a reported source address of known peer P. Ignored if P is unknown
   %%
   %% This is mainly intended to handle cases where a pinging peer and the
   %% pinged peer use different uris (peer uri vs "source" elem in ping obj).
  
positive.code:         false ->
              lager:debug("will ping peer ~p", [Uri]),
              aec_sync:schedule_ping(Peer, fun ping_peer/1);
              %% spawn(fun() -> ping_peer(Peer) end);
          _Other ->
              lager:debug("will not ping ~p (~p)", [Uri, _Other]),
              ignore
  
negative.code:     %% needed for the ping itself, but given that a ping can quickly
      %% lead to a greater discovery, we should be prepared to handle pings
      %% ourselves at this point.
      case await_aehttp() of
          ok ->
              Res = aeu_requests:ping(Peer),
              lager:debug("ping result (~p): ~p", [Peer, Res]),
              case Res of
                  {ok, Map} ->
                      log_good_ping(Peer#peer.uri),
                      Peers = maps:get(<<"peers">>, Map, []),
                      add_and_ping_peers(Peers);
                  _ ->
                      log_ping_error(Peer#peer.uri)
              end;
          {error, timeout} ->
              lager:debug("timeout waiting for aehttp - no ping (~p) will retry", [Peer#peer.uri]),
              ping_peer(Peer)
      end.
  
  %% The gproc name below is registered in the start function of
  