Example usage for io.netty.util.internal PlatformDependent copyMemory

List of usage examples for io.netty.util.internal PlatformDependent copyMemory

Introduction

In this page you can find the example usage for io.netty.util.internal PlatformDependent copyMemory.

Prototype

public static void copyMemory(long srcAddr, byte[] dst, int dstIndex, long length) 

Source Link

Usage

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"));
}