anchor.diff:          %% Initially, the sets of assigned and stored chunks are equal
           chunks_assigned=ChunkSets,
           chunks_stored=ChunkSets,
  -        peer_monitors=etorrent_monitorset:new(),
           prio_begun=PriorityBegun,
  -        prio_unassigned=PriorityUnass},
  +        prio_unassigned=PriorityUnass,
  +        pending=Pending},
       {ok, InitState}.
   
  -
  -handle_call({register_peer, PeerPid}, _, State) ->
  -    %% Add a new peer to the set of monitored peers. Set the initial state
  -    %% of the monitored peer to an empty set open requests so that we don't
  -    %% need to check for this during the lifetime of the peer.
  -    #state{peer_monitors=PeerMonitors} = State,
  -    OpenReqs = gb_trees:empty(),
  -    NewMonitors = etorrent_monitorset:insert(PeerPid, OpenReqs, PeerMonitors),
  -    NewState = State#state{peer_monitors=NewMonitors},
  -    {reply, true, NewState};
   
   handle_call({request_chunks, PeerPid, Peerset, Numchunks}, _, State) ->
       #state{
  
positive.code: init([TorrentID, ChunkSize, FetchedPieces, PieceSizes, InitTorrentPid]) ->
      etorrent_scarcity:await_scarcity_server(TorrentID),
      true = register_chunk_server(TorrentID),
  
      NumPieces = length(PieceSizes),
      PiecesValid = etorrent_pieceset:from_list(FetchedPieces, NumPieces),
  
negative.code:     %% Chunk sets for pieces
      chunks_assigned :: array(),
      chunks_stored   :: array(),
      %% Piece priority lists
      prio_begun :: #pieceprio{},
      prio_unassigned :: #pieceprio{},
      %% Chunk assignment process
      pending :: etorrent_pending:originhandle()}).
  
  %% # Open requests
  %% A gb_tree mapping {PieceIndex, Offset} to Chunklength
  