Class PlatformOutputStreamImpl
- java.lang.Object
-
- org.apache.ignite.internal.processors.platform.memory.PlatformOutputStreamImpl
-
- All Implemented Interfaces:
AutoCloseable,BinaryOutputStream,BinaryStream,PlatformOutputStream
- Direct Known Subclasses:
PlatformBigEndianOutputStreamImpl
public class PlatformOutputStreamImpl extends Object implements PlatformOutputStream
Interop output stream implementation.
-
-
Field Summary
Fields Modifier and Type Field Description protected intcapMaximum capacity.protected longdataPointer.protected PlatformMemorymemUnderlying memory chunk.protected intposCurrent position.
-
Constructor Summary
Constructors Constructor Description PlatformOutputStreamImpl(PlatformMemory mem)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 voidensureCapacity(int reqCap)Ensure capacity.booleanhasArray()longoffheapPointer()intposition()voidposition(int pos)longrawOffheapPointer()protected voidshift(int cnt)Shift position.voidsynchronize()Synchronize output stream with underlying memoryvoidunsafeEnsure(int cap)Ensure capacity for unsafe writes.voidunsafePosition(int pos)Set position in unsafe mode.voidunsafeWriteBoolean(boolean val)Write boolean in unsafe mode.voidunsafeWriteByte(byte val)Write byte in unsafe mode.voidunsafeWriteChar(char val)Write char in unsafe mode.voidunsafeWriteDouble(double val)Write double in unsafe mode.voidunsafeWriteFloat(float val)Write float 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.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.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.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.voidwriteLong(long val)Write long value.voidwriteLongArray(long[] val)Write long array.voidwriteShort(int pos, short val)Write short value at the given position.voidwriteShort(short val)Write short value.voidwriteShortArray(short[] val)Write short array.
-
-
-
Field Detail
-
mem
protected final PlatformMemory mem
Underlying memory chunk.
-
data
protected long data
Pointer.
-
cap
protected int cap
Maximum capacity.
-
pos
protected int pos
Current position.
-
-
Constructor Detail
-
PlatformOutputStreamImpl
public PlatformOutputStreamImpl(PlatformMemory mem)
Constructor.- Parameters:
mem- Underlying memory chunk.
-
-
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.
-
writeIntArray
public void writeIntArray(int[] val)
Write int array.- Specified by:
writeIntArrayin interfaceBinaryOutputStream- Parameters:
val- Int array.
-
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.
-
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 int position()
- Specified by:
positionin interfaceBinaryStream- Returns:
- Position.
-
position
public void position(int pos)
- Specified by:
positionin interfaceBinaryStream- Parameters:
pos- Position.
-
close
public void close()
Close the stream releasing resources.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceBinaryOutputStream
-
array
public byte[] array()
- Specified by:
arrayin interfaceBinaryStream- Returns:
- Underlying array.
-
arrayCopy
public byte[] arrayCopy()
- Specified by:
arrayCopyin interfaceBinaryStream- Returns:
- Copy of data in the stream.
-
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.
-
hasArray
public boolean hasArray()
- Specified by:
hasArrayin interfaceBinaryStream- Returns:
Trueis stream is array based.
-
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.
-
unsafeWriteByte
public void unsafeWriteByte(byte val)
Write byte in unsafe mode.- Specified by:
unsafeWriteBytein interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteBoolean
public void unsafeWriteBoolean(boolean val)
Write boolean in unsafe mode.- Specified by:
unsafeWriteBooleanin interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteShort
public void unsafeWriteShort(short val)
Write short in unsafe mode.- Specified by:
unsafeWriteShortin interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteShort
public void unsafeWriteShort(int pos, short val)Write short in unsafe mode.- Specified by:
unsafeWriteShortin interfaceBinaryOutputStream- Parameters:
pos- Position.val- Value.
-
unsafeWriteChar
public void unsafeWriteChar(char val)
Write char in unsafe mode.- Specified by:
unsafeWriteCharin interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteInt
public void unsafeWriteInt(int val)
Write int in unsafe mode.- Specified by:
unsafeWriteIntin interfaceBinaryOutputStream- Parameters:
val- Value.
-
unsafeWriteInt
public void unsafeWriteInt(int pos, int val)Write int in unsafe mode.- Specified by:
unsafeWriteIntin interfaceBinaryOutputStream- Parameters:
pos- Position.val- Value.
-
unsafeWriteLong
public void unsafeWriteLong(long val)
Write long in unsafe mode.- Specified by:
unsafeWriteLongin 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.
-
synchronize
public void synchronize()
Synchronize output stream with underlying memory- Specified by:
synchronizein interfacePlatformOutputStream
-
ensureCapacity
protected void ensureCapacity(int reqCap)
Ensure capacity.- Parameters:
reqCap- Required byte count.
-
shift
protected void shift(int cnt)
Shift position.- Parameters:
cnt- Byte count.
-
capacity
public int capacity()
- Specified by:
capacityin interfaceBinaryStream- Returns:
- Total capacity.
-
-