anchor.diff:              Pid ! Msg,
               forward_(Pid, Tailref)
       end.
  +
  +
  +%% @doc
  +%% @end
  +-spec format_by_peer(pid()) -> ok.
  +format_by_peer(SrvPid) ->
  +    ByPeer = fun({_Pid, _Chunk}=E) -> E end,
  +    Groups = etorrent_utils:group(ByPeer, requests(SrvPid)),
  +    io:format("~w~n", [Groups]).
  +
  +
  +%% @doc
  +%% @end
  +-spec format_by_chunk(pid()) -> ok.
  +format_by_chunk(SrvPid) ->
  +    ByChunk = fun({Pid, Chunk}) -> {Chunk, Pid} end,
  +    Groups = etorrent_utils:group(ByChunk, requests(SrvPid)),
  +    io:format("~w~n", [Groups]).
  +
   
   -ifdef(TEST).
   -include_lib("eunit/include/eunit.hrl").
  
positive.code:          stored/5,
           forward/1]).
  
  
  %% @doc
  %% @end
  
negative.code: %% torrent local services. A wrapper is provided by the etorrent_download
  %% module.
  
  %% protocol functions
  -export([request/3,
           requests/1,
           assigned/5,
  