Class BinaryAbstractOutputStream
- java.lang.Object
-
- org.apache.ignite.internal.binary.streams.BinaryAbstractStream
-
- org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream
-
- All Implemented Interfaces:
AutoCloseable,BinaryOutputStream,BinaryStream
- Direct Known Subclasses:
BinaryHeapOutputStream,BinaryOffheapOutputStream
public abstract class BinaryAbstractOutputStream extends BinaryAbstractStream implements BinaryOutputStream
Base binary output stream.
-
-
Field Summary
Fields Modifier and Type Field Description static intMAX_ARRAY_SIZEThe maximum size of array to allocate.-
Fields inherited from class org.apache.ignite.internal.binary.streams.BinaryAbstractStream
BYTE_ONE, BYTE_ZERO, pos
-
-
Constructor Summary
Constructors Constructor Description BinaryAbstractOutputStream()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static intcapacity(int curCap, int reqCap)Calculate new capacity.protected abstract voidcopyAndShift(Object src, long off, int len)Copy source object to the stream shift position afterwards.protected abstract voidensureCapacity(int cnt)Ensure capacity.longoffheapPointer()voidposition(int pos)longrawOffheapPointer()voidunsafeEnsure(int cap)Ensure capacity for unsafe writes.voidunsafePosition(int pos)Set position in unsafe mode.voidunsafeWriteBoolean(boolean val)Write boolean in unsafe mode.voidunsafeWriteDouble(double val)Write double in unsafe mode.voidunsafeWriteFloat(float val)Write float in unsafe mode.voidwrite(byte[] arr, int off, int len)Write byte array.voidwrite(long addr, int cnt)Write data from unmanaged memory.voidwriteBoolean(boolean val)Write boolean value.voidwriteBooleanArray(boolean[] val)Write boolean array.voidwriteByte(byte val)Write byte value.protected abstract voidwriteByteAndShift(byte val)Write next byte to the stream.voidwriteByteArray(byte[] val)Write byte array.voidwriteByteArray(byte[] val, int off, int len)Write byte array.voidwriteChar(char val)Write char value.voidwriteCharArray(char[] val)Write char array.protected abstract voidwriteCharFast(char val)Write char value (fast path).voidwriteDouble(double val)Write double value.voidwriteDoubleArray(double[] val)Write double array.voidwriteFloat(float val)Write float value.voidwriteFloatArray(float[] val)Write float array.voidwriteInt(int val)Write int value.voidwriteInt(int pos, int val)Write int value to the given position.voidwriteIntArray(int[] val)Write int array.protected abstract voidwriteIntFast(int val)Write int value (fast path).voidwriteLong(long val)Write long value.voidwriteLongArray(long[] val)Write long array.protected abstract voidwriteLongFast(long val)Write long value (fast path).voidwriteShort(int pos, short val)Write short value at the given position.voidwriteShort(short val)Write short value.voidwriteShortArray(short[] val)Write short array.protected abstract voidwriteShortFast(short val)Write short value (fast path).-
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.BinaryOutputStream
close, unsafeWriteByte, unsafeWriteChar, unsafeWriteInt, unsafeWriteInt, unsafeWriteLong, unsafeWriteShort, unsafeWriteShort
-
-
-
-
Field Detail
-
MAX_ARRAY_SIZE
public static final int MAX_ARRAY_SIZE
The maximum size of array to allocate. Some VMs reserve some header words in an array. Attempts to allocate larger arrays may result in OutOfMemoryError: Requested array size exceeds VM limit- See Also:
ArrayList.MAX_ARRAY_SIZE, Constant Field Values
-
-
Method Detail
-
writeByte
public void writeByte(byte val)
Write byte value.- Specified by:
writeBytein interfaceBinaryOutputStream- Parameters:
val- Byte value.
-
writeByteArray
public void writeByteArray(byte[] val)
Write byte array.- Specified by:
writeByteArrayin interfaceBinaryOutputStream- Parameters:
val- Byte array.
-
writeByteArray
public void writeByteArray(byte[] val, int off, int len)Write byte array.- Specified by:
writeByteArrayin interfaceBinaryOutputStream- Parameters:
val- Byte array.off- Offset.len- Array length.
-
writeBoolean
public void writeBoolean(boolean val)
Write boolean value.- Specified by:
writeBooleanin interfaceBinaryOutputStream- Parameters:
val- Boolean value.
-
writeBooleanArray
public void writeBooleanArray(boolean[] val)
Write boolean array.- Specified by:
writeBooleanArrayin interfaceBinaryOutputStream- Parameters:
val- Boolean array.
-
writeShort
public void writeShort(short val)
Write short value.- Specified by:
writeShortin interfaceBinaryOutputStream- Parameters:
val- Short value.
-
writeShortArray
public void writeShortArray(short[] val)
Write short array.- Specified by:
writeShortArrayin interfaceBinaryOutputStream- Parameters:
val- Short array.
-
writeChar
public void writeChar(char val)
Write char value.- Specified by:
writeCharin interfaceBinaryOutputStream- Parameters:
val- Char value.
-
writeCharArray
public void writeCharArray(char[] val)
Write char array.- Specified by:
writeCharArrayin interfaceBinaryOutputStream- Parameters:
val- Char array.
-
writeInt
public void writeInt(int val)
Write int value.- Specified by:
writeIntin interfaceBinaryOutputStream- Parameters:
val- Int value.
-
writeShort
public void writeShort(int pos, short val)Write short value at the given position.- Specified by:
writeShortin interfaceBinaryOutputStream- Parameters:
pos- Position.val- Value.
-
writeInt
public void writeInt(int pos, int val)Write int value to the given position.- Specified by:
writeIntin interfaceBinaryOutputStream- Parameters:
pos- Position.val- Value.
-
writeIntArray
public void writeIntArray(int[] val)
Write int array.- Specified by:
writeIntArrayin interfaceBinaryOutputStream- Parameters:
val- Int array.
-
writeFloat
public void writeFloat(float val)
Write float value.- Specified by:
writeFloatin interfaceBinaryOutputStream- Parameters:
val- Float value.
-
writeFloatArray
public void writeFloatArray(float[] val)
Write float array.- Specified by:
writeFloatArrayin interfaceBinaryOutputStream- Parameters:
val- Float array.
-
writeLong
public void writeLong(long val)
Write long value.- Specified by:
writeLongin interfaceBinaryOutputStream- Parameters:
val- Long value.
-
writeLongArray
public void writeLongArray(long[] val)
Write long array.- Specified by:
writeLongArrayin interfaceBinaryOutputStream- Parameters:
val- Long array.
-
writeDouble
public void writeDouble(double val)
Write double value.- Specified by:
writeDoublein interfaceBinaryOutputStream- Parameters:
val- Double value.
-
writeDoubleArray
public void writeDoubleArray(double[] val)
Write double array.- Specified by:
writeDoubleArrayin interfaceBinaryOutputStream- Parameters:
val- Double array.
-
write
public void write(byte[] arr, int off, int len)Write byte array.- Specified by:
writein interfaceBinaryOutputStream- Parameters:
arr- Array.off- Offset.len- Length.
-
write
public void write(long addr, int cnt)Write data from unmanaged memory.- Specified by:
writein interfaceBinaryOutputStream- Parameters:
addr- Address.cnt- Count.
-
position
public void position(int pos)
- Specified by:
positionin interfaceBinaryStream- Parameters:
pos- Position.
-
offheapPointer
public long offheapPointer()
- Specified by:
offheapPointerin interfaceBinaryStream- Returns:
- Offheap pointer if stream is offheap based and "forceHeap" flag is not set; otherwise
0.
-
rawOffheapPointer
public long rawOffheapPointer()
- Specified by:
rawOffheapPointerin interfaceBinaryStream- Returns:
- Offheap pointer if stream is offheap based; otherwise
0.
-
unsafeEnsure
public void unsafeEnsure(int cap)
Ensure capacity for unsafe writes.- Specified by:
unsafeEnsurein interfaceBinaryOutputStream- Parameters:
cap- Capacity.
-
unsafePosition
public void unsafePosition(int pos)
Set position in unsafe mode.- Specified by:
unsafePositionin interfaceBinaryOutputStream- Parameters:
pos- Position.
-
unsafeWriteBoolean
public void unsafeWriteBoolean(boolean val)
Write boolean in unsafe mode.- Specified by:
unsafeWriteBooleanin interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteFloat
public void unsafeWriteFloat(float val)
Write float in unsafe mode.- Specified by:
unsafeWriteFloatin interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteDouble
public void unsafeWriteDouble(double val)
Write double in unsafe mode.- Specified by:
unsafeWriteDoublein interfaceBinaryOutputStream- Parameters:
val- Value.
-
capacity
protected static int capacity(int curCap, int reqCap)Calculate new capacity.- Parameters:
curCap- Current capacity.reqCap- Required capacity.- Returns:
- New capacity.
-
writeByteAndShift
protected abstract void writeByteAndShift(byte val)
Write next byte to the stream.- Parameters:
val- Value.
-
copyAndShift
protected abstract void copyAndShift(Object src, long off, int len)
Copy source object to the stream shift position afterwards.- Parameters:
src- Source.off- Offset.len- Length.
-
writeShortFast
protected abstract void writeShortFast(short val)
Write short value (fast path).- Parameters:
val- Short value.
-
writeCharFast
protected abstract void writeCharFast(char val)
Write char value (fast path).- Parameters:
val- Char value.
-
writeIntFast
protected abstract void writeIntFast(int val)
Write int value (fast path).- Parameters:
val- Int value.
-
writeLongFast
protected abstract void writeLongFast(long val)
Write long value (fast path).- Parameters:
val- Long value.
-
ensureCapacity
protected abstract void ensureCapacity(int cnt)
Ensure capacity.- Parameters:
cnt- Required byte count.
-
-