Class BinaryOffheapOutputStream
- java.lang.Object
-
- org.apache.ignite.internal.binary.streams.BinaryAbstractStream
-
- org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream
-
- org.apache.ignite.internal.binary.streams.BinaryOffheapOutputStream
-
- All Implemented Interfaces:
AutoCloseable,BinaryOutputStream,BinaryStream
public class BinaryOffheapOutputStream extends BinaryAbstractOutputStream
Binary offheap 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 BinaryOffheapOutputStream(int cap)Constructor.BinaryOffheapOutputStream(long ptr, int cap)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected longallocate(int cap)Allocate memory.byte[]array()byte[]arrayCopy()intcapacity()voidclose()Close the stream releasing resources.protected voidcopyAndShift(Object src, long offset, int len)Copy source object to the stream shift position afterwards.voidensureCapacity(int cnt)Ensure capacity.booleanhasArray()longpointer()protected longreallocate(long ptr, int cap)Reallocate memory.protected voidrelease(long ptr)Release 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
-
-
-
-
Method Detail
-
close
public void close()
Close the stream releasing resources.
-
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.
-
pointer
public long pointer()
- Returns:
- Pointer.
-
capacity
public int capacity()
- Returns:
- Total capacity.
-
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 offset, int len)
Copy source object to the stream shift position afterwards.- Specified by:
copyAndShiftin classBinaryAbstractOutputStream- Parameters:
src- Source.offset- 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.
-
hasArray
public boolean hasArray()
- Returns:
Trueis stream is array based.
-
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.
-
allocate
protected long allocate(int cap)
Allocate memory.- Parameters:
cap- Capacity.- Returns:
- Pointer.
-
reallocate
protected long reallocate(long ptr, int cap)Reallocate memory.- Parameters:
ptr- Old pointer.cap- Capacity.- Returns:
- New pointer.
-
release
protected void release(long ptr)
Release memory.- Parameters:
ptr- Pointer.
-
-