private void DoReadahead()
 {
     if (raPool != null && inFd != null && readahead)
     {
         curReadahead = raPool.ReadaheadStream("ifile", inFd, currentOffset, readaheadLength
                                               , dataLength, curReadahead);
     }
 }
 /// <exception cref="System.Exception"/>
 public override object NextChunk()
 {
     if (manageOsCache && readaheadPool != null)
     {
         readaheadRequest = readaheadPool.ReadaheadStream(identifier, fd, GetCurrentOffset
                                                              (), readaheadLength, GetEndOffset(), readaheadRequest);
     }
     return(base.NextChunk());
 }
 /// <exception cref="System.IO.IOException"/>
 public override long TransferTo(WritableByteChannel target, long position)
 {
     if (manageOsCache && readaheadPool != null)
     {
         readaheadRequest = readaheadPool.ReadaheadStream(identifier, fd, GetPosition() +
                                                          position, readaheadLength, GetPosition() + GetCount(), readaheadRequest);
     }
     if (this.shuffleTransferToAllowed)
     {
         return(base.TransferTo(target, position));
     }
     else
     {
         return(CustomShuffleTransfer(target, position));
     }
 }