Class BinaryHeapOutputStream
- java.lang.Object
-
- org.apache.ignite.internal.binary.streams.BinaryAbstractStream
-
- org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream
-
- org.apache.ignite.internal.binary.streams.BinaryHeapOutputStream
-
- All Implemented Interfaces:
AutoCloseable,BinaryOutputStream,BinaryStream
public final class BinaryHeapOutputStream extends BinaryAbstractOutputStream
Binary heap output stream.
-
-
Field Summary
-
Fields inherited from class org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream
MAX_ARRAY_SIZE
-
Fields inherited from class org.apache.ignite.internal.binary.streams.BinaryAbstractStream
BYTE_ONE, BYTE_ZERO, pos
-
-
Constructor Summary
Constructors Constructor Description BinaryHeapOutputStream(int cap)Constructor.BinaryHeapOutputStream(int cap, BinaryMemoryAllocatorChunk chunk)Constructor.BinaryHeapOutputStream(int cap, BinaryMemoryAllocatorChunk chunk, boolean disableAutoClose)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]array()byte[]arrayCopy()intcapacity()voidclose()Close the stream releasing resources.protected voidcopyAndShift(Object src, long off, int len)Copy source object to the stream shift position afterwards.voidensureCapacity(int cnt)Ensure capacity.booleanhasArray()voidrelease()Releases pooled memory.voidunsafeWriteByte(byte val)Write byte in unsafe mode.voidunsafeWriteChar(char val)Write char in unsafe mode.voidunsafeWriteInt(int val)Write int in unsafe mode.voidunsafeWriteInt(int pos, int val)Write int in unsafe mode.voidunsafeWriteLong(long val)Write long in unsafe mode.voidunsafeWriteShort(int pos, short val)Write short in unsafe mode.voidunsafeWriteShort(short val)Write short in unsafe mode.protected voidwriteByteAndShift(byte val)Write next byte to the stream.protected voidwriteCharFast(char val)Write char value (fast path).protected voidwriteIntFast(int val)Write int value (fast path).protected voidwriteLongFast(long val)Write long value (fast path).protected voidwriteShortFast(short val)Write short value (fast path).-
Methods inherited from class org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream
capacity, offheapPointer, position, rawOffheapPointer, unsafeEnsure, unsafePosition, unsafeWriteBoolean, unsafeWriteDouble, unsafeWriteFloat, write, write, writeBoolean, writeBooleanArray, writeByte, writeByteArray, writeByteArray, writeChar, writeCharArray, writeDouble, writeDoubleArray, writeFloat, writeFloatArray, writeInt, writeInt, writeIntArray, writeLong, writeLongArray, writeShort, writeShort, writeShortArray
-
Methods inherited from class org.apache.ignite.internal.binary.streams.BinaryAbstractStream
position, shift
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.ignite.internal.binary.streams.BinaryStream
position
-
-
-
-
Constructor Detail
-
BinaryHeapOutputStream
public BinaryHeapOutputStream(int cap)
Constructor.- Parameters:
cap- Initial capacity.
-
BinaryHeapOutputStream
public BinaryHeapOutputStream(int cap, BinaryMemoryAllocatorChunk chunk)Constructor.- Parameters:
cap- Capacity.chunk- Chunk.
-
BinaryHeapOutputStream
public BinaryHeapOutputStream(int cap, BinaryMemoryAllocatorChunk chunk, boolean disableAutoClose)Constructor.
-
-
Method Detail
-
close
public void close()
Close the stream releasing resources.
-
release
public void release()
Releases pooled memory.
-
ensureCapacity
public void ensureCapacity(int cnt)
Ensure capacity.- Specified by:
ensureCapacityin classBinaryAbstractOutputStream- Parameters:
cnt- Required byte count.
-
array
public byte[] array()
- Returns:
- Underlying array.
-
arrayCopy
public byte[] arrayCopy()
- Returns:
- Copy of data in the stream.
-
hasArray
public boolean hasArray()
- Returns:
Trueis stream is array based.
-
writeByteAndShift
protected void writeByteAndShift(byte val)
Write next byte to the stream.- Specified by:
writeByteAndShiftin classBinaryAbstractOutputStream- Parameters:
val- Value.
-
copyAndShift
protected void copyAndShift(Object src, long off, int len)
Copy source object to the stream shift position afterwards.- Specified by:
copyAndShiftin classBinaryAbstractOutputStream- Parameters:
src- Source.off- Offset.len- Length.
-
writeShortFast
protected void writeShortFast(short val)
Write short value (fast path).- Specified by:
writeShortFastin classBinaryAbstractOutputStream- Parameters:
val- Short value.
-
writeCharFast
protected void writeCharFast(char val)
Write char value (fast path).- Specified by:
writeCharFastin classBinaryAbstractOutputStream- Parameters:
val- Char value.
-
writeIntFast
protected void writeIntFast(int val)
Write int value (fast path).- Specified by:
writeIntFastin classBinaryAbstractOutputStream- Parameters:
val- Int value.
-
writeLongFast
protected void writeLongFast(long val)
Write long value (fast path).- Specified by:
writeLongFastin classBinaryAbstractOutputStream- Parameters:
val- Long value.
-
unsafeWriteByte
public void unsafeWriteByte(byte val)
Write byte in unsafe mode.- Parameters:
val- Value.
-
unsafeWriteShort
public void unsafeWriteShort(short val)
Write short in unsafe mode.- Parameters:
val- Value.
-
unsafeWriteShort
public void unsafeWriteShort(int pos, short val)Write short in unsafe mode.- Parameters:
pos- Position.val- Value.
-
unsafeWriteChar
public void unsafeWriteChar(char val)
Write char in unsafe mode.- Parameters:
val- Value.
-
unsafeWriteInt
public void unsafeWriteInt(int val)
Write int in unsafe mode.- Parameters:
val- Value.
-
unsafeWriteInt
public void unsafeWriteInt(int pos, int val)Write int in unsafe mode.- Parameters:
pos- Position.val- Value.
-
unsafeWriteLong
public void unsafeWriteLong(long val)
Write long in unsafe mode.- Parameters:
val- Value.
-
capacity
public int capacity()
- Returns:
- Total capacity.
-
-