Package org.jline.utils
Class NonBlockingPumpReader
- java.lang.Object
-
- java.io.Reader
-
- org.jline.utils.NonBlockingReader
-
- org.jline.utils.NonBlockingPumpReader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Readable
public class NonBlockingPumpReader extends NonBlockingReader
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classNonBlockingPumpReader.NbpWriter
-
Field Summary
Fields Modifier and Type Field Description private char[]bufferprivate booleanclosedprivate intcountprivate static intDEFAULT_BUFFER_SIZE(package private) java.util.concurrent.locks.ReentrantLocklockMain lock guarding all accessprivate java.util.concurrent.locks.ConditionnotEmptyCondition for waiting takesprivate java.util.concurrent.locks.ConditionnotFullCondition for waiting putsprivate intreadprivate intwriteprivate java.io.Writerwriter-
Fields inherited from class org.jline.utils.NonBlockingReader
EOF, READ_EXPIRED
-
-
Constructor Summary
Constructors Constructor Description NonBlockingPumpReader()NonBlockingPumpReader(int bufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()java.io.WritergetWriter()protected intread(long timeout, boolean isPeek)Attempts to read a character from the input stream for a specific period of time.intreadBuffered(char[] b)booleanready()(package private) voidwrite(char[] cbuf, int off, int len)
-
-
-
Field Detail
-
DEFAULT_BUFFER_SIZE
private static final int DEFAULT_BUFFER_SIZE
- See Also:
- Constant Field Values
-
buffer
private final char[] buffer
-
read
private int read
-
write
private int write
-
count
private int count
-
lock
final java.util.concurrent.locks.ReentrantLock lock
Main lock guarding all access
-
notEmpty
private final java.util.concurrent.locks.Condition notEmpty
Condition for waiting takes
-
notFull
private final java.util.concurrent.locks.Condition notFull
Condition for waiting puts
-
writer
private final java.io.Writer writer
-
closed
private boolean closed
-
-
Method Detail
-
getWriter
public java.io.Writer getWriter()
-
ready
public boolean ready()
- Overrides:
readyin classjava.io.Reader
-
available
public int available()
- Overrides:
availablein classNonBlockingReader
-
read
protected int read(long timeout, boolean isPeek) throws java.io.IOExceptionDescription copied from class:NonBlockingReaderAttempts to read a character from the input stream for a specific period of time.- Specified by:
readin classNonBlockingReader- Parameters:
timeout- The amount of time to wait for the characterisPeek-trueif the character read must not be consumed- Returns:
- The character read, -1 if EOF is reached, or -2 if the read timed out.
- Throws:
java.io.IOException- if anything wrong happens
-
readBuffered
public int readBuffered(char[] b) throws java.io.IOException- Specified by:
readBufferedin classNonBlockingReader- Throws:
java.io.IOException
-
write
void write(char[] cbuf, int off, int len) throws java.io.IOException- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classjava.io.Reader- Throws:
java.io.IOException
-
-