public abstract class AbstractServletOutputStream<S> extends ServletOutputStream
Modifier and Type | Field and Description |
---|---|
protected static StringManager |
sm |
protected SocketWrapper<S> |
socketWrapper |
Constructor and Description |
---|
AbstractServletOutputStream(SocketWrapper<S> socketWrapper,
int asyncWriteBufferSize) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected abstract void |
doClose() |
protected abstract void |
doFlush() |
protected abstract int |
doWrite(boolean block,
byte[] b,
int off,
int len)
Abstract method to be overridden by concrete implementations.
|
boolean |
isReady()
Checks if a non-blocking write will succeed.
|
protected void |
onError(java.lang.Throwable t) |
void |
setWriteListener(WriteListener listener)
Sets the
WriteListener for this ServletOutputStream and
thereby switches to non-blocking IO. |
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
protected static final StringManager sm
protected final SocketWrapper<S> socketWrapper
public AbstractServletOutputStream(SocketWrapper<S> socketWrapper, int asyncWriteBufferSize)
public final boolean isReady()
javax.servlet.ServletOutputStream
false
, it will cause a callback to
WriteListener.onWritePossible()
when the buffer has emptied. If
this method returns false
no further data must be written
until the contain calls WriteListener.onWritePossible()
.isReady
in class ServletOutputStream
true
if data can be written, else false
public final void setWriteListener(WriteListener listener)
javax.servlet.ServletOutputStream
WriteListener
for this ServletOutputStream
and
thereby switches to non-blocking IO. It is only valid to switch to
non-blocking IO within async processing or HTTP upgrade processing.setWriteListener
in class ServletOutputStream
listener
- The non-blocking IO write listenerpublic void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
protected final void onError(java.lang.Throwable t)
protected abstract int doWrite(boolean block, byte[] b, int off, int len) throws java.io.IOException
java.io.IOException
protected abstract void doFlush() throws java.io.IOException
java.io.IOException
protected abstract void doClose() throws java.io.IOException
java.io.IOException
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.