Package org.apache.coyote.http11.upgrade
Class UpgradeServletOutputStream
java.lang.Object
java.io.OutputStream
javax.servlet.ServletOutputStream
org.apache.coyote.http11.upgrade.UpgradeServletOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionUpgradeServletOutputStream(UpgradeProcessorBase processor, SocketWrapperBase<?> socketWrapper, UpgradeInfo upgradeInfo) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidflush()final booleanisReady()Checks if a non-blocking write will succeed.final voidsetWriteListener(WriteListener listener) Sets theWriteListenerfor thisServletOutputStreamand thereby switches to non-blocking IO.voidwrite(byte[] b, int off, int len) voidwrite(int b) Methods inherited from class javax.servlet.ServletOutputStream
print, print, print, print, print, print, print, println, println, println, println, println, println, println, printlnMethods inherited from class java.io.OutputStream
nullOutputStream, write
-
Constructor Details
-
UpgradeServletOutputStream
public UpgradeServletOutputStream(UpgradeProcessorBase processor, SocketWrapperBase<?> socketWrapper, UpgradeInfo upgradeInfo)
-
-
Method Details
-
isReady
public final boolean isReady()Description copied from class:javax.servlet.ServletOutputStreamChecks if a non-blocking write will succeed. If this returnsfalse, it will cause a callback toWriteListener.onWritePossible()when the buffer has emptied. If this method returnsfalseno further data must be written until the container callsWriteListener.onWritePossible().- Specified by:
isReadyin classServletOutputStream- Returns:
trueif data can be written, elsefalse
-
setWriteListener
Description copied from class:javax.servlet.ServletOutputStreamSets theWriteListenerfor thisServletOutputStreamand 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:
setWriteListenerin classServletOutputStream- Parameters:
listener- The non-blocking IO write listener
-
write
- Specified by:
writein classOutputStream- Throws:
IOException
-
write
- Overrides:
writein classOutputStream- Throws:
IOException
-
flush
- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream- Throws:
IOException
-