Package org.apache.solr.common.util
Class FastOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.solr.common.util.FastOutputStream
-
- All Implemented Interfaces:
Closeable,DataOutput,Flushable,AutoCloseable
public class FastOutputStream extends OutputStream implements DataOutput
Single threaded buffered OutputStream Internal Solr use only, subject to change.
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]bufprotected OutputStreamoutprotected intposprotected longwritten
-
Constructor Summary
Constructors Constructor Description FastOutputStream(OutputStream w)FastOutputStream(OutputStream sink, byte[] tempBuffer, int start)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()voidflush(byte[] buf, int offset, int len)All writes to the sink will go through this methodvoidflushBuffer()Only flushes the buffer of the FastOutputStream, not that of the underlying stream.voidreserve(int len)reserve at least len bytes at the end of the buffer.voidsetWritten(long written)Resets the count returned by written()longsize()static FastOutputStreamwrap(OutputStream sink)voidwrite(byte b)voidwrite(byte[] b)voidwrite(byte[] arr, int off, int len)voidwrite(int b)voidwriteBoolean(boolean v)voidwriteByte(int v)voidwriteBytes(String s)voidwriteChar(int v)voidwriteChars(String s)voidwriteDouble(double v)voidwriteFloat(float v)voidwriteInt(int v)voidwriteLong(long v)voidwriteShort(int v)voidwriteUTF(String s)voidwriteUtf8CharSeq(Utf8CharSequence utf8)Copies aUtf8CharSequencewithout making extra copieslongwritten()Returns the number of bytes actually written to the underlying OutputStream, not including anything currently buffered by this class itself.-
Methods inherited from class java.io.OutputStream
nullOutputStream
-
-
-
-
Field Detail
-
out
protected final OutputStream out
-
buf
protected byte[] buf
-
written
protected long written
-
pos
protected int pos
-
-
Constructor Detail
-
FastOutputStream
public FastOutputStream(OutputStream w)
-
FastOutputStream
public FastOutputStream(OutputStream sink, byte[] tempBuffer, int start)
-
-
Method Detail
-
wrap
public static FastOutputStream wrap(OutputStream sink)
-
write
public void write(int b) throws IOException- Specified by:
writein interfaceDataOutput- Specified by:
writein classOutputStream- Throws:
IOException
-
write
public void write(byte[] b) throws IOException- Specified by:
writein interfaceDataOutput- Overrides:
writein classOutputStream- Throws:
IOException
-
write
public void write(byte b) throws IOException- Throws:
IOException
-
write
public void write(byte[] arr, int off, int len) throws IOException- Specified by:
writein interfaceDataOutput- Overrides:
writein classOutputStream- Throws:
IOException
-
reserve
public void reserve(int len) throws IOExceptionreserve at least len bytes at the end of the buffer. Invalid if len > buffer.length- Throws:
IOException
-
writeBoolean
public void writeBoolean(boolean v) throws IOException- Specified by:
writeBooleanin interfaceDataOutput- Throws:
IOException
-
writeByte
public void writeByte(int v) throws IOException- Specified by:
writeBytein interfaceDataOutput- Throws:
IOException
-
writeShort
public void writeShort(int v) throws IOException- Specified by:
writeShortin interfaceDataOutput- Throws:
IOException
-
writeChar
public void writeChar(int v) throws IOException- Specified by:
writeCharin interfaceDataOutput- Throws:
IOException
-
writeInt
public void writeInt(int v) throws IOException- Specified by:
writeIntin interfaceDataOutput- Throws:
IOException
-
writeLong
public void writeLong(long v) throws IOException- Specified by:
writeLongin interfaceDataOutput- Throws:
IOException
-
writeFloat
public void writeFloat(float v) throws IOException- Specified by:
writeFloatin interfaceDataOutput- Throws:
IOException
-
writeDouble
public void writeDouble(double v) throws IOException- Specified by:
writeDoublein interfaceDataOutput- Throws:
IOException
-
writeBytes
public void writeBytes(String s) throws IOException
- Specified by:
writeBytesin interfaceDataOutput- Throws:
IOException
-
writeChars
public void writeChars(String s) throws IOException
- Specified by:
writeCharsin interfaceDataOutput- Throws:
IOException
-
writeUTF
public void writeUTF(String s) throws IOException
- Specified by:
writeUTFin interfaceDataOutput- 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
-
flushBuffer
public void flushBuffer() throws IOExceptionOnly flushes the buffer of the FastOutputStream, not that of the underlying stream.- Throws:
IOException
-
flush
public void flush(byte[] buf, int offset, int len) throws IOExceptionAll writes to the sink will go through this method- Throws:
IOException
-
size
public long size()
-
written
public long written()
Returns the number of bytes actually written to the underlying OutputStream, not including anything currently buffered by this class itself.
-
setWritten
public void setWritten(long written)
Resets the count returned by written()
-
writeUtf8CharSeq
public void writeUtf8CharSeq(Utf8CharSequence utf8) throws IOException
Copies aUtf8CharSequencewithout making extra copies- Throws:
IOException
-
-