Interface StreamReader

    • Method Detail

      • notifyAvailable

        GrizzlyFuture<Integer> notifyAvailable​(int size)
        Method returns Future, using which it's possible check if StreamReader has required amount of bytes available for reading reading.
        Parameters:
        size - number of bytes, which should become available on StreamReader.
        Returns:
        Future, using which it's possible to check whether StreamReader has required amount of bytes available for reading.
      • notifyAvailable

        GrizzlyFuture<Integer> notifyAvailable​(int size,
                                               CompletionHandler<Integer> completionHandler)
        Method returns Future, using which it's possible check if StreamReader has required amount of bytes available for reading reading. CompletionHandler is also passed to get notified, once required number of bytes will become available for reading.
        Parameters:
        size - number of bytes, which should become available on StreamReader.
        completionHandler - CompletionHandler, which will be notified once required number of bytes will become available.
        Returns:
        Future, using which it's possible to check whether StreamReader has required amount of bytes available for reading.
      • notifyCondition

        GrizzlyFuture<Integer> notifyCondition​(Condition condition)
        Method returns Future, using which it's possible check if StreamReader meets specific Condition.
        Parameters:
        condition - Condition StreamReader should meet.
        Returns:
        Future, using which it's possible to check whether StreamReader meets the required Condition.
      • hasAvailable

        boolean hasAvailable()
        Return true if StreamReader has available data, which could be read, or false otherwise.
        Returns:
        true if StreamReader has available data, which could be read, or false otherwise.
      • available

        int available()
        Return the number of bytes available for get calls. An attempt to get more data than is present in the stream will either result in blocking (if isBlocking() returns true) or a BufferUnderflowException.
      • readBoolean

        boolean readBoolean()
                     throws IOException
        Get the next boolean in the stream. Requires 1 byte.
        Throws:
        IOException
      • readByte

        byte readByte()
               throws IOException
        Get the next byte in the stream. Requires 1 byte.
        Throws:
        IOException
      • readChar

        char readChar()
               throws IOException
        Get the next character in the stream. Requires 2 bytes.
        Throws:
        IOException
      • readShort

        short readShort()
                 throws IOException
        Get the next short in the stream. Requires 2 bytes.
        Throws:
        IOException
      • readInt

        int readInt()
             throws IOException
        Get the next int in the stream. Requires 4 bytes.
        Throws:
        IOException
      • readLong

        long readLong()
               throws IOException
        Get the next long in the stream. Requires 8 bytes.
        Throws:
        IOException
      • readFloat

        float readFloat()
                 throws IOException
        Get the next float in the stream. Requires 4 bytes.
        Throws:
        IOException
      • readDouble

        double readDouble()
                   throws IOException
        Get the next double in the stream. Requires 8 bytes.
        Throws:
        IOException
      • readBooleanArray

        void readBooleanArray​(boolean[] data)
                       throws IOException
        Fill data with booleans (byte 1=true, 0=false) from the stream. If this method returns normally, data has been filled completely. Requires data.length bytes.
        Throws:
        IOException
      • readByteArray

        void readByteArray​(byte[] data)
                    throws IOException
        Fill data with bytes from the stream. If this method returns normally, data has been filled completely. Requires data.length bytes.
        Throws:
        IOException
      • readByteArray

        void readByteArray​(byte[] data,
                           int offset,
                           int length)
                    throws IOException
        Fill data with bytes from the stream. If this method returns normally, data has been filled completely. Requires data.length bytes.
        Throws:
        IOException
      • readBytes

        void readBytes​(Buffer buffer)
                throws IOException
        Fill the buffer with data from the stream (that is, copy data from the stream to fill buffer from position to limit). This is useful when data must be read from one stream and then added to another stream for further processing.
        Throws:
        IOException
      • readCharArray

        void readCharArray​(char[] data)
                    throws IOException
        Fill data with characters from the stream. If this method returns normally, data has been filled completely. Requires 2*data.length bytes.
        Throws:
        IOException
      • readShortArray

        void readShortArray​(short[] data)
                     throws IOException
        Fill data with characters from the stream. If this method returns normally, data has been filled completely. Requires 2*data.length bytes.
        Throws:
        IOException
      • readIntArray

        void readIntArray​(int[] data)
                   throws IOException
        Fill data with characters from the stream. If this method returns normally, data has been filled completely. Requires 4*data.length bytes.
        Throws:
        IOException
      • readLongArray

        void readLongArray​(long[] data)
                    throws IOException
        Fill data with characters from the stream. If this method returns normally, data has been filled completely. Requires 8*data.length bytes.
        Throws:
        IOException
      • readFloatArray

        void readFloatArray​(float[] data)
                     throws IOException
        Fill data with characters from the stream. If this method returns normally, data has been filled completely. Requires 4*data.length bytes.
        Throws:
        IOException
      • readDoubleArray

        void readDoubleArray​(double[] data)
                      throws IOException
        Fill data with characters from the stream. If this method returns normally, data has been filled completely. Requires 8*data.length bytes.
        Throws:
        IOException
      • skip

        void skip​(int length)
      • decode

        <E> GrizzlyFuture<E> decode​(Transformer<Stream,​E> decoder)
        Read and decode data from the StreamReader
        Type Parameters:
        E - decoded data type
        Parameters:
        decoder - Transformer
        Returns:
        Future, which will hold the decoding state.
      • isClosed

        boolean isClosed()
        Returns true, if StreamReader has been closed, or false otherwise.
        Returns:
        true, if StreamReader has been closed, or false otherwise.
      • isSupportBufferWindow

        boolean isSupportBufferWindow()
      • getBufferWindow

        Buffer getBufferWindow()
      • takeBufferWindow

        Buffer takeBufferWindow()