Class UpgradeServletInputStream
java.lang.Object
java.io.InputStream
javax.servlet.ServletInputStream
org.apache.coyote.http11.upgrade.UpgradeServletInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionUpgradeServletInputStream(UpgradeProcessorBase processor, SocketWrapperBase<?> socketWrapper, UpgradeInfo upgradeInfo) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()final booleanHas the end of this InputStream been reached?final booleanisReady()Can data be read from this InputStream without blocking?final intread()final intread(byte[] b, int off, int len) final intreadLine(byte[] b, int off, int len) Reads the input stream, one line at a time.final voidsetReadListener(ReadListener listener) Sets theReadListenerfor thisServletInputStreamand thereby switches to non-blocking IO.Methods inherited from class java.io.InputStream
available, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
UpgradeServletInputStream
public UpgradeServletInputStream(UpgradeProcessorBase processor, SocketWrapperBase<?> socketWrapper, UpgradeInfo upgradeInfo)
-
-
Method Details
-
isFinished
public final boolean isFinished()Description copied from class:javax.servlet.ServletInputStreamHas the end of this InputStream been reached?- Specified by:
isFinishedin classServletInputStream- Returns:
trueif all the data has been read from the stream, elsefalse
-
isReady
public final boolean isReady()Description copied from class:javax.servlet.ServletInputStreamCan data be read from this InputStream without blocking? Returns If this method is called and returns false, the container will invokeReadListener.onDataAvailable()when data is available.- Specified by:
isReadyin classServletInputStream- Returns:
trueif data can be read without blocking, elsefalse
-
setReadListener
Description copied from class:javax.servlet.ServletInputStreamSets theReadListenerfor thisServletInputStreamand thereby switches to non-blocking IO. It is only valid to switch to non-blocking IO within async processing or HTTP upgrade processing.- Specified by:
setReadListenerin classServletInputStream- Parameters:
listener- The non-blocking IO read listener
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-
readLine
Description copied from class:javax.servlet.ServletInputStreamReads the input stream, one line at a time. Starting at an offset, reads bytes into an array, until it reads a certain number of bytes or reaches a newline character, which it reads into the array as well.This method returns -1 if it reaches the end of the input stream before reading the maximum number of bytes.
- Overrides:
readLinein classServletInputStream- Parameters:
b- an array of bytes into which data is readoff- an integer specifying the character at which this method begins readinglen- an integer specifying the maximum number of bytes to read- Returns:
- an integer specifying the actual number of bytes read, or -1 if the end of the stream is reached
- Throws:
IOException- if an input or output exception has occurred
-
read
- Overrides:
readin classInputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-