List of usage examples for io.netty.util.internal PlatformDependent copyMemory
public static void copyMemory(long srcAddr, byte[] dst, int dstIndex, long length)
From source file:org.apache.tajo.tuple.memory.CompactRowBlockWriter.java
License:Apache License
@Override public void endRow() { long rowHeaderPos = recordStartAddr(); // curOffset is equivalent to a byte length of this row. PlatformDependent.putInt(rowHeaderPos, curOffset); rowHeaderPos += SizeOf.SIZE_OF_INT;//from w w w. jav a 2 s. com //set null flags byte[] flags = nullFlags.toArray(); PlatformDependent.putShort(rowHeaderPos, (short) flags.length); rowHeaderPos += SizeOf.SIZE_OF_SHORT; PlatformDependent.copyMemory(flags, 0, rowHeaderPos, flags.length); rowBlock.setRows(rowBlock.rows() + 1); }
From source file:org.apache.tajo.tuple.memory.CompactRowBlockWriter.java
License:Apache License
@Override public void putBlob(byte[] val) { int bytesLen = val.length; ensureSize(MAXIMUM_VARIANT_INT32 + bytesLen); long addr = currentAddr(); short length = writeRawVarint32(addr, bytesLen); PlatformDependent.copyMemory(val, 0, addr + length, bytesLen); curFieldIdx++;//from ww w . j a va 2 s .co m forwardField(length + bytesLen); }
From source file:org.apache.tajo.tuple.memory.OffHeapRowWriter.java
License:Apache License
@Override public void putBlob(byte[] val) { int bytesLen = val.length; int fieldLen = SizeOf.SIZE_OF_INT + bytesLen; ensureSize(fieldLen);/*from w ww .j ava2 s. c o m*/ long addr = currentAddr(); PlatformDependent.putInt(addr, bytesLen); PlatformDependent.copyMemory(val, 0, addr + SizeOf.SIZE_OF_INT, bytesLen); putFieldHeader(addr, curOffset); forwardField(fieldLen); }
From source file:org.apache.tajo.tuple.memory.UnSafeTuple.java
License:Apache License
public HeapTuple toHeapTuple() { HeapTuple heapTuple = new HeapTuple(); byte[] bytes = new byte[getLength()]; PlatformDependent.copyMemory(address(), bytes, 0, getLength()); heapTuple.set(bytes, types);//from ww w. ja v a2 s . c om return heapTuple; }
From source file:org.apache.tajo.tuple.memory.UnSafeTuple.java
License:Apache License
@Override public byte[] getBytes(int fieldId) { long pos = getFieldAddr(fieldId); int len = PlatformDependent.getInt(pos); pos += SizeOf.SIZE_OF_INT;/* w w w.ja va2 s .c o m*/ byte[] bytes = new byte[len]; PlatformDependent.copyMemory(pos, bytes, 0, len); return bytes; }
From source file:org.apache.tajo.tuple.memory.UnSafeTuple.java
License:Apache License
@Override public char[] getUnicodeChars(int fieldId) { long pos = getFieldAddr(fieldId); int len = PlatformDependent.getInt(pos); pos += SizeOf.SIZE_OF_INT;/*from www . j a v a2 s . com*/ byte[] bytes = new byte[len]; PlatformDependent.copyMemory(pos, bytes, 0, len); return StringUtils.convertBytesToChars(bytes, Charset.forName("UTF-8")); }