anchor.diff:      do_send_message(Name, Message, Connections).
   
   %% @private
  -select_random(View) ->
  -    select_random(View, undefined).
  -
  -%% @private
   select_random(View, Omit) ->
       List = members(View) -- lists:flatten([Omit]),
   
  
positive.code:             {noreply, State0}
      end;
  
  handle_cast({suspected, _Peer}, #state{passive=Passive0,
                                        pending=Pending0,
                                        connections=Connections0}=State) ->
      % lager:info("Node ~p suspected of failure.", [Peer]),
  
      %% Select random peer from passive view, and attempt to connect it.
      %%
      %% If it successfully connects, it will replace the failed node in
      %% the active view.
      %%
      Random = select_random(Passive0),
  
      %% Add to list of pending connections.
      Pending = add_to_pending(Random, Pending0),
  
negative.code:     %% Trigger connection.
      Connections = maybe_connect(Random, Connections0),
  
      %% NOTE: The failed process should automatically cause the node to
      %% be added to the suspected list when the 'EXIT' is received,
      %% therefore, this code is superfluous.
      Suspected = case is_in_active_view(Peer, Active0) of
          true ->
              add_to_suspected(Peer, Suspected0);
          false ->
              Suspected0
      end,
  
      {noreply, State#state{pending=Pending,
                            suspected=Suspected,
                            connections=Connections}};
  
  handle_cast(Msg, State) ->
      lager:warning("Unhandled messages: ~p", [Msg]),
  