Package org.apache.coyote.http11.upgrade
Class UpgradeServletInputStream
- java.lang.Object
-
- java.io.InputStream
-
- jakarta.servlet.ServletInputStream
-
- org.apache.coyote.http11.upgrade.UpgradeServletInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class UpgradeServletInputStream extends ServletInputStream
-
-
Constructor Summary
Constructors Constructor Description UpgradeServletInputStream(UpgradeProcessorBase processor, SocketWrapperBase<?> socketWrapper, UpgradeInfo upgradeInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleanisFinished()Has the end of this InputStream been reached?booleanisReady()Can data be read from this InputStream without blocking?intread()intread(byte[] b, int off, int len)intreadLine(byte[] b, int off, int len)Reads the input stream, one line at a time.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, transferTo
-
-
-
-
Constructor Detail
-
UpgradeServletInputStream
public UpgradeServletInputStream(UpgradeProcessorBase processor, SocketWrapperBase<?> socketWrapper, UpgradeInfo upgradeInfo)
-
-
Method Detail
-
isFinished
public final boolean isFinished()
Description copied from class:jakarta.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:jakarta.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
public final void setReadListener(ReadListener listener)
Description copied from class:jakarta.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
public final int read() throws IOException- Specified by:
readin classInputStream- Throws:
IOException
-
readLine
public final int readLine(byte[] b, int off, int len) throws IOExceptionDescription copied from class:jakarta.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
public final int read(byte[] b, int off, int len) throws IOException- Overrides:
readin classInputStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-
-