Class BytesStreamOutput
- java.lang.Object
-
- java.io.OutputStream
-
- org.elasticsearch.common.io.stream.StreamOutput
-
- org.elasticsearch.common.io.stream.BytesStream
-
- org.elasticsearch.common.io.stream.BytesStreamOutput
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
- Direct Known Subclasses:
ReleasableBytesStreamOutput
public class BytesStreamOutput extends BytesStream
A @linkStreamOutputthat usesBigArraysto acquire pages of bytes, which avoids frequent reallocation & copying of the internal data.
-
-
Constructor Summary
Constructors Modifier Constructor Description BytesStreamOutput()Create a non recyclingBytesStreamOutputwith an initial capacity of 0.BytesStreamOutput(int expectedSize)Create a non recyclingBytesStreamOutputwith enough initial pages acquired to satisfy the capacity given by expected size.protectedBytesStreamOutput(int expectedSize, BigArrays bigArrays)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BytesReferencebytes()voidclose()Closes this stream to further operations.voidflush()Forces any buffered output to be written.longposition()longramBytesUsed()Returns the number of bytes used by the underlyingByteArrayvoidreset()voidseek(long position)intsize()Returns the current size of the buffer.voidskip(int length)voidwriteByte(byte b)Writes a single byte.voidwriteBytes(byte[] b, int offset, int length)Writes an array of bytes.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class org.elasticsearch.common.io.stream.StreamOutput
getVersion, hasFeature, setFeatures, setVersion, write, write, writeArray, writeArray, writeBoolean, writeByteArray, writeBytes, writeBytes, writeBytesRef, writeBytesReference, writeCollection, writeDouble, writeDoubleArray, writeEnum, writeEnumSet, writeException, writeFloat, writeFloatArray, writeGenericValue, writeGeoPoint, writeInt, writeIntArray, writeList, writeLong, writeLongArray, writeMap, writeMap, writeMapOfLists, writeMapWithConsistentOrder, writeNamedWriteable, writeNamedWriteableList, writeOptionalArray, writeOptionalBoolean, writeOptionalBytesReference, writeOptionalDouble, writeOptionalFloat, writeOptionalLong, writeOptionalNamedWriteable, writeOptionalStreamable, writeOptionalString, writeOptionalStringArray, writeOptionalText, writeOptionalTimeValue, writeOptionalTimeZone, writeOptionalVInt, writeOptionalWriteable, writeShort, writeStreamableList, writeString, writeStringArray, writeStringArrayNullable, writeStringList, writeText, writeTimeValue, writeTimeZone, writeVInt, writeVIntArray, writeVLong, writeVLongArray, writeZLong
-
-
-
-
Constructor Detail
-
BytesStreamOutput
public BytesStreamOutput()
Create a non recyclingBytesStreamOutputwith an initial capacity of 0.
-
BytesStreamOutput
public BytesStreamOutput(int expectedSize)
Create a non recyclingBytesStreamOutputwith enough initial pages acquired to satisfy the capacity given by expected size.- Parameters:
expectedSize- the expected maximum size of the stream in bytes.
-
BytesStreamOutput
protected BytesStreamOutput(int expectedSize, BigArrays bigArrays)
-
-
Method Detail
-
position
public long position() throws java.io.IOException- Overrides:
positionin classStreamOutput- Throws:
java.io.IOException
-
writeByte
public void writeByte(byte b) throws java.io.IOExceptionDescription copied from class:StreamOutputWrites a single byte.- Specified by:
writeBytein classStreamOutput- Throws:
java.io.IOException
-
writeBytes
public void writeBytes(byte[] b, int offset, int length)Description copied from class:StreamOutputWrites an array of bytes.- Specified by:
writeBytesin classStreamOutput- Parameters:
b- the bytes to writeoffset- the offset in the byte arraylength- the number of bytes to write
-
reset
public void reset()
- Specified by:
resetin classStreamOutput
-
flush
public void flush() throws java.io.IOExceptionDescription copied from class:StreamOutputForces any buffered output to be written.- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin classStreamOutput- Throws:
java.io.IOException
-
seek
public void seek(long position)
- Overrides:
seekin classStreamOutput
-
skip
public void skip(int length)
-
close
public void close()
Description copied from class:StreamOutputCloses this stream to further operations.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classStreamOutput
-
size
public int size()
Returns the current size of the buffer.- Returns:
- the value of the
countfield, which is the number of valid bytes in this output stream. - See Also:
ByteArrayOutputStream.count
-
bytes
public BytesReference bytes()
- Specified by:
bytesin classBytesStream
-
ramBytesUsed
public long ramBytesUsed()
Returns the number of bytes used by the underlyingByteArray- See Also:
Accountable.ramBytesUsed()
-
-