anchor.diff:  %% --- Publisher --------------------------------------------------------------------------------------------
   publisher_start(Client) ->
       Nodes = get_nodes(3, Client),
  -    lager:info("Publisher, node: ~p~n", [Nodes]),
       schedule({publish_item, 1}, ?DELAY_BETWEEN_MESSAGES),
       publisher_loop(Client, Nodes).
   
  
positive.code:             TimeStampBin = exml_query:attr(Item, <<"id">>),
              TimeStamp = binary_to_integer(TimeStampBin),
              TTD =  os:system_time(microsecond) - TimeStamp,
              amoc_metrics:update_time(message_ttd, TTD),
              lager:info("~n~n~p~n~n", [Stanza])
      catch
          Error:Reason ->
              lager:error("No items received! ~p~n ~p~n", [Error, Reason])
  
negative.code:     publisher_loop(Client, Nodes).
  
  publish(Client, Nodes) ->
      [ publish_pubsub_item(Client, Node) || Node <- Nodes ].
  
  %% --- Subscriber -------------------------------------------------------------------------------------------
  subscriber_start(Client) ->
      Nodes = get_nodes(3, Client),
      [subscribe(Client, Node) || Node <- Nodes],
      subscriber_loop(Client).
  
  