Package org.eclipse.net4j.buffer
Class BufferOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.eclipse.net4j.buffer.BufferOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
- Direct Known Subclasses:
ChannelOutputStream
public class BufferOutputStream extends java.io.OutputStreamAnoutput streamthat fragments the written byte sequence into fixed-sizedbuffersand passes them to configuredbuffer handler.- Author:
- Eike Stepper
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_PROPAGATE_CLOSE
-
Constructor Summary
Constructors Constructor Description BufferOutputStream(IBufferHandler bufferHandler, short channelID)BufferOutputStream(IBufferHandler bufferHandler, IBufferProvider bufferProvider, short channelID)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected voidensureBuffer()Ensures that this BufferOutputStream has a buffer.voidflush()Flushes the current buffer, it's handled over to the buffer handler.voidflushWithEOS()voidflushWithEOS(boolean ccam)java.lang.ThrowablegetError()protected booleanisPropagateClose()voidsetError(java.lang.Throwable error)java.lang.StringtoString()voidwrite(byte[] b, int off, int len)voidwrite(int b)
-
-
-
Field Detail
-
DEFAULT_PROPAGATE_CLOSE
public static final boolean DEFAULT_PROPAGATE_CLOSE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BufferOutputStream
public BufferOutputStream(IBufferHandler bufferHandler, IBufferProvider bufferProvider, short channelID)
-
BufferOutputStream
public BufferOutputStream(IBufferHandler bufferHandler, short channelID)
-
-
Method Detail
-
getError
public java.lang.Throwable getError()
- Since:
- 2.0
-
setError
public void setError(java.lang.Throwable error)
- Since:
- 2.0
-
write
public void write(int b) throws java.io.IOException- Specified by:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOExceptionFlushes the current buffer, it's handled over to the buffer handler.- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream- Throws:
java.io.IOException- Signals that an I/O exception has occurred.- See Also:
currentBuffer,IBufferHandler.handleBuffer(IBuffer)
-
flushWithEOS
public void flushWithEOS() throws java.io.IOException- Throws:
java.io.IOException
-
flushWithEOS
public void flushWithEOS(boolean ccam) throws java.io.IOException- Throws:
java.io.IOException- Since:
- 4.4
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
ensureBuffer
protected void ensureBuffer() throws java.io.IOExceptionEnsures that this BufferOutputStream has a buffer. If the current buffer was flushed a new one is fetched from the buffer provider.- Throws:
java.io.IOException- Signals that an I/O exception has occurred.- See Also:
flush(),IBufferProvider.provideBuffer()
-
isPropagateClose
protected boolean isPropagateClose()
-
-