anchor.diff:  unchoke(Pid) ->
       gen_server:cast(Pid, unchoke).
   
  -%% @doc Tell the peer we have just received piece PieceNumber.
  -%% <p>The intended caller of this function is the {@link etorrent_piece_mgr}</p>
  -%% @end
  -have(Pid, PieceNumber) ->
  -    gen_server:cast(Pid, {have, PieceNumber}).
  -
  -%% @doc We got a chunk while in endgame mode, handle it.
  -%% <p>The logic is that the chunk may be queued up for this peer. We
  -%% wish to either cancel the request or remove it from the request
  -%% queue before it is sent out if possible.</p>
  -%% @end
  -cancel(Pid, Piece, Offset, Length) ->
  -    Chunk = {chunk, Piece, Offset, Length},
  -    gen_server:cast(Pid, {endgame_got_chunk, Chunk}).
  -
   %% @doc Initialize the connection.
   %% <p>The `Way' parameter tells the client of the connection is
   %% `incoming' or `outgoing'. They are handled differently since part
  
positive.code:     ok = etorrent_scarcity:add_peer(TorrentID, Pieceset),
      NewState = S#state{
          remote_pieces=Pieceset,
          pieces_left=NumPieces,
          seeder=false},
      {ok, NewState};
  
  
negative.code: handle_cast(interested, State) ->
      statechange_interested(State, true),
      {noreply, State#state{local_interested=true}};
  handle_cast(try_queue_pieces, S) ->
      {ok, NS} = try_to_queue_up_pieces(S),
      {noreply, NS};
  