anchor.diff:  %% @private
   -spec handle_info(term(), #state{}) -> {noreply, #state{}}.
   
  +handle_info(random_promotion, #state{myself=Myself0}=State0) ->
  +    lager:info("Random promotion for node ~p", [Myself0]),
  +    State = move_random_peer_from_passive_to_active(State0),
  +
  +    %% Schedule periodic random promotion.
  +    schedule_random_promotion(),
  +
  +    {noreply, State};
  +
   handle_info(passive_view_maintenance,
               #state{myself=Myself,
                      active=Active,
  
positive.code: 
      %% If it was in the active view and our connection attempt failed,
      %% remove from the active view altogether.
      Active = case is_in_active_view(Peer, Active0) of
                   true ->
                       remove_from_active_view(Peer, Active0);
                   false ->
                       Active0
               end,
  
      {noreply, State#state{active=Active,
                            passive=Passive,
                            connections=Connections}};
  
  handle_info({connected, Peer, _Tag, _PeerEpoch, _RemoteState}, State) ->
      lager:info("Node ~p is connected", [Peer]),
  
negative.code: -behaviour(partisan_peer_service_manager).
  
  -define(PASSIVE_VIEW_MAINTENANCE_INTERVAL, 10000).
  -define(RANDOM_PROMOTION_INTERVAL, 5000).
  
  -include("partisan.hrl").
  
  