anchor.diff:  build_rechoke_info(Seeding, [Pid | Next]) ->
       case etorrent_peer:find(Pid) of
           not_found -> build_rechoke_info(Seeding, Next);
  -        {peer_info, Kind, Id} -> 
  +        {peer_info, Kind, Id} ->
               %% Coalesce these two into one!
               {value, Snubbed} = etorrent_rate_mgr:snubbed(Id, Pid),
               {value, PeerState} = etorrent_rate_mgr:select_state(Id, Pid),
  
positive.code:             split_preferred_peers(Next, [P | Downs], Leechs)
      end.
  
  
negative.code: %%====================================================================
  %% API
  %%====================================================================
  -spec start_link(pid()) -> {ok, pid()} | {error, any()} | ignore.
  start_link(OurPeerId) ->
      gen_server:start_link({local, ?SERVER}, ?MODULE, [OurPeerId], []).
  
  -spec perform_rechoke() -> ok.
  perform_rechoke() ->
      gen_server:cast(?SERVER, rechoke).
  
  -spec monitor(pid()) -> ok.
  monitor(Pid) ->
      gen_server:call(?SERVER, {monitor, Pid}).
  
  %%--------------------------------------------------------------------
  %%% Internal functions
  