Class RemoteFile.ReadAheadRemoteFileInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Enclosing class:
    RemoteFile

    public class RemoteFile.ReadAheadRemoteFileInputStream
    extends java.io.InputStream
    • Field Detail

      • b

        private final byte[] b
      • maxUnconfirmedReads

        private final int maxUnconfirmedReads
      • readAheadLimit

        private final long readAheadLimit
      • currentOffset

        private long currentOffset
      • maxReadLength

        private int maxReadLength
      • eof

        private boolean eof
      • pending

        private java.io.ByteArrayInputStream pending
    • Constructor Detail

      • ReadAheadRemoteFileInputStream

        public ReadAheadRemoteFileInputStream​(int maxUnconfirmedReads)
      • ReadAheadRemoteFileInputStream

        public ReadAheadRemoteFileInputStream​(int maxUnconfirmedReads,
                                              long fileOffset)
        Parameters:
        maxUnconfirmedReads - Maximum number of unconfirmed requests to send
        fileOffset - Initial offset in file to read from
      • ReadAheadRemoteFileInputStream

        public ReadAheadRemoteFileInputStream​(int maxUnconfirmedReads,
                                              long fileOffset,
                                              long readAheadLimit)
        Parameters:
        maxUnconfirmedReads - Maximum number of unconfirmed requests to send
        fileOffset - Initial offset in file to read from
        readAheadLimit - Read ahead is disabled after this limit has been reached
    • Method Detail

      • retrieveUnconfirmedRead

        private boolean retrieveUnconfirmedRead​(boolean blocking)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • read

        public int read()
                 throws java.io.IOException
        Specified by:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] into,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.InputStream
        Throws:
        java.io.IOException