anchor.diff:      gen_server:start_link(?MODULE, [TorrentID, Torrent], []).
   
   
  -%%
  -%% Read a piece into memory.
  -%%
  +%% @doc
  +%% Read a piece into memory from disc.
  +%% @end
   -spec read_piece(torrent_id(), piece_index()) -> {'ok', piece_bin()}.
   read_piece(TorrentID, Piece) ->
       {ok, DirPid} = await_directory(TorrentID),
  
positive.code:     BlockList = read_file_blocks(TorrentID, ChunkPositions),
      {ok, iolist_to_binary(BlockList)}.
  
  %%
  %% Write a chunk to a piece by writing parts of the block
  %% to each file that the block occurs in.
  %%
  -spec write_chunk(torrent_id(), piece_index(),
                    chunk_offset(), chunk_bin()) -> 'ok'.
  write_chunk(TorrentID, Piece, Offset, Chunk) ->
  
negative.code:     {ok, iolist_to_binary(BlockList)}.
  
  
  %% @doc
  %% Read a chunk from a piece by reading each of the file
  %% blocks that make up the chunk and concatenating them.
  %% @end
  -spec read_chunk(torrent_id(), piece_index(),
                   chunk_offset(), chunk_len()) -> {'ok', chunk_bin()}.
  read_chunk(TorrentID, Piece, Offset, Length) ->
  