anchor.diff:      ok | no_return().
   stream_range(FileHandle, Range, Req, EncodingFun, ReadBlockSize) ->
       MaxReadBlocks = max(1, ?MAX_DOWNLOAD_BUFFER_SIZE div ReadBlockSize),
  -    stream_range(FileHandle, Range, Req, EncodingFun, ReadBlockSize, MaxReadBlocks).
  +    stream_range(
  +        FileHandle, Range, Req, EncodingFun,
  +        ReadBlockSize, MaxReadBlocks, ?MIN_SEND_RETRY_DELAY
  +    ).
   
   
   %%%===================================================================
  
positive.code:     cowboy_req:req(),
      EncodingFun :: fun((Data :: binary()) -> EncodedData :: binary()),
      ReadBlockSize :: non_neg_integer(),
      MaxReadBlocks :: non_neg_integer()
  ) ->
      ok | no_return().
  stream_range(_, {From, To}, _, _, _, _) when From > To ->
      ok;
  stream_range(FileHandle, {From, To}, Req, EncodingFun, ReadBlockSize, MaxReadBlocks) ->
      ToRead = min(To - From + 1, ReadBlockSize - From rem ReadBlockSize),
      {ok, NewFileHandle, Data} = ?check(lfm:read(FileHandle, From, ToRead)),
  
  
negative.code:         0 ->
              ok;
          DataSize ->
              EncodedData = EncodingFun(Data),
              NextSendRetryDelay = send_data(EncodedData, Req, MaxReadBlocks, SendRetryDelay),
  
              stream_range(
                  NewFileHandle, {From + DataSize, To}, Req, EncodingFun,
                  ReadBlockSize, MaxReadBlocks, NextSendRetryDelay
              )
      end.
  
  