Class HttpServletResponseWrapper.DeferredOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.jboss.resteasy.spi.AsyncOutputStream
-
- org.jboss.resteasy.plugins.server.servlet.HttpServletResponseWrapper.DeferredOutputStream
-
- All Implemented Interfaces:
WriteListener,Closeable,Flushable,AutoCloseable,EventListener
- Enclosing class:
- HttpServletResponseWrapper
protected class HttpServletResponseWrapper.DeferredOutputStream extends AsyncOutputStream implements WriteListener
RESTEASY-684 wants to defer access to outputstream until a write happensNote that all locking is on
thisand should remain that way to avoid deadlocks on consumers of this stream.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletionStage<Void>asyncFlush()Flushes this async output stream.CompletionStage<Void>asyncWrite(byte[] bytes, int offset, int length)Writes to this async output stream.voidclose()voidflush()voidonError(Throwable t)Invoked when an error occurs writing data using the non-blocking APIs.voidonWritePossible()When an instance of the WriteListener is registered with aServletOutputStream, this method will be invoked by the container the first time when it is possible to write data.voidwrite(byte[] bytes)voidwrite(byte[] bytes, int i, int i1)voidwrite(int i)-
Methods inherited from class org.jboss.resteasy.spi.AsyncOutputStream
asyncWrite
-
Methods inherited from class java.io.OutputStream
nullOutputStream
-
-
-
-
Method Detail
-
write
public void write(int i) throws IOException- Specified by:
writein classOutputStream- Throws:
IOException
-
write
public void write(byte[] bytes) throws IOException- Overrides:
writein classOutputStream- Throws:
IOException
-
write
public void write(byte[] bytes, int i, int i1) throws IOException- Overrides:
writein classOutputStream- Throws:
IOException
-
flush
public void flush() throws IOException- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream- Throws:
IOException
-
asyncFlush
public CompletionStage<Void> asyncFlush()
Description copied from class:AsyncOutputStreamFlushes this async output stream.- Specified by:
asyncFlushin classAsyncOutputStream- Returns:
- a
CompletionStagenotified on completion of the flush operation.
-
asyncWrite
public CompletionStage<Void> asyncWrite(byte[] bytes, int offset, int length)
Description copied from class:AsyncOutputStreamWrites to this async output stream.- Specified by:
asyncWritein classAsyncOutputStream- Parameters:
bytes- the bytes to writeoffset- the offset from which to start writing in the given byte array.length- the number of bytes to write from the given byte array- Returns:
- a
CompletionStagenotified on completion of the write operation.
-
onWritePossible
public void onWritePossible()
Description copied from interface:WriteListenerWhen an instance of the WriteListener is registered with aServletOutputStream, this method will be invoked by the container the first time when it is possible to write data. Subsequently the container will invoke this method if and only if theServletOutputStream.isReady()method has been called and has returned a value offalseand a write operation has subsequently become possible.- Specified by:
onWritePossiblein interfaceWriteListener
-
onError
public void onError(Throwable t)
Description copied from interface:WriteListenerInvoked when an error occurs writing data using the non-blocking APIs.- Specified by:
onErrorin interfaceWriteListener- Parameters:
t- the throwable to indicate why the write operation failed
-
-