src/main/java/org/michailov/async/io/AsyncTextStreamReader.java
@Override
    protected boolean ready() {
        boolean isReady = false;
        
        try {
            if (!_areLoopsStarted) {
                _asyncByteStreamReader.startApplyLoopAsync();
                _asyncCharDecoder.startApplyLoopAsync();
                _asyncLineSplitter.startApplyLoopAsync();
                if (_asyncStringRingBufferWatcher != null) {
                    _asyncStringRingBufferWatcher.startApplyLoopAsync();
                }
                _areLoopsStarted = true;
            }
            
            isReady = !isEOF() && _stringRingBuffer.getAvailableToRead() > 0;
        }
        catch (Throwable ex) {
            setEOFAndThrow(ex);
        }
        
        return isReady;
    }
/**
     * "<i>ready</i>" predicate that returns true when lines can be read from the string ring buffer.   
     */
"ready" predicate that returns true when lines can be read from the string ring buffer.
" ready " predicate that returns true when lines can be read from the string ring buffer .
@Override
    protected boolean ready() {
        boolean isReady = false;
        try {
            if (!_areLoopsStarted) {
                _asyncByteStreamReader.startApplyLoopAsync();
                _asyncCharDecoder.startApplyLoopAsync();
                _asyncLineSplitter.startApplyLoopAsync();
                if (_asyncStringRingBufferWatcher != null) {
                    _asyncStringRingBufferWatcher.startApplyLoopAsync();
                }
                _areLoopsStarted = true;
            }
            isReady = !isEOF() && _stringRingBuffer.getAvailableToRead() > 0;
        }
        catch (Throwable ex) {
            setEOFAndThrow(ex);
        }
        return isReady;
    }
@ Override protected boolean ready ( ) { boolean isReady = false ; try { if ( ! _areLoopsStarted ) { _asyncByteStreamReader . startApplyLoopAsync ( ) ; _asyncCharDecoder . startApplyLoopAsync ( ) ; _asyncLineSplitter . startApplyLoopAsync ( ) ; if ( _asyncStringRingBufferWatcher != null ) { _asyncStringRingBufferWatcher . startApplyLoopAsync ( ) ; } _areLoopsStarted = true ; } isReady = ! isEOF ( ) && _stringRingBuffer . getAvailableToRead ( ) > 0 ; } catch ( Throwable ex ) { setEOFAndThrow ( ex ) ; } return isReady ; }
"<i>ready</i>" predicate that returns true when lines can be read from the string ring buffer.
" <i > ready< / i > " predicate that returns true when lines can be read from the string ring buffer .