anchor.diff:  %% If not, the number of requests needed to hit the high threshold
   %% is returned regardless of whether the queue is low or not.
   %% @end
  --spec needs(#requestqueue{}) -> non_neg_integer().
  +-spec needs(rqueue()) -> non_neg_integer().
   needs(Requestqueue) ->
       #requestqueue{high_limit=High, queue=Queue} = Requestqueue,
       Length = queue:len(Queue),
  
positive.code: %% @doc Check if a request queue contains a specific request
  %% @end
  -spec member(pieceindex(), chunkoffset(),
               chunklength(), #requestqueue{}) -> boolean().
  member(Piece, Offset, Length, Requestqueue) ->
      %% The implementation of queue will not change in a 1000 years
      #requestqueue{queue=Queue} = Requestqueue,
  
negative.code: 
  %% @doc Check if the number or open requests is below the pipeline threshold
  %% @end
  -spec is_low(rqueue()) -> boolean().
  is_low(Requestqueue) ->
      #requestqueue{low_limit=Low, queue=Queue} = Requestqueue,
      queue:len(Queue) =< Low.
  