anchor.diff:      schedule_logging(),
   
       {noreply, State};
  +
  +handle_info(check_convergence, #state{}=State) ->
  +    {ok, {_, Convergence}} = lasp:query(convergence_id()),
  +
  +    NodesWithAllEvents = lists:filter(
  +        fun({_Node, AllEvents}) ->
  +            AllEvents
  +        end,
  +        Convergence
  +    ),
  +
  +    case length(NodesWithAllEvents) == client_number() of
  +        true ->
  +            lager:info("Convergence reached on all clients");
  +        false ->
  +            schedule_check_convergence()
  +    end,
  +
  +    {noreply, State};
  +
   handle_info(Msg, State) ->
       lager:warning("Unhandled messages: ~p", [Msg]),
       {noreply, State}.
  
positive.code: %% Macros.
  -define(MAX_IMPRESSIONS, 100).
  -define(LOG_INTERVAL, 10000).
  -define(ADS, 10).
  
  %% State record.
  
negative.code:     launch_triggers(AdList, Ads, Actor),
  
      %% Create instance for convergence tracking
      %% Also schedule check convergence
      track_convergence(),
  
      {ok, #state{actor=Actor, ads=Ads}}.
  