Package com.netflix.zeno.fastblob.record

Examples of com.netflix.zeno.fastblob.record.ByteDataBuffer


    /**
     * Serialize a long, use zig-zag encoding to (probably) get a small positive value, then encode the result as a variable-byte long.
     */
    @Override
    public void serializePrimitive(FlatBlobSerializationRecord rec, String fieldName, long value) {
        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldName);

        // zig zag encoding
        VarInt.writeVLong(fieldBuffer, (value << 1) ^ (value >> 63));
    }
View Full Code Here


    /**
     * Serialize a float into 4 consecutive bytes
     */
    @Override
    public void serializePrimitive(FlatBlobSerializationRecord rec, String fieldName, float value) {
        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldName);
        int intBits = Float.floatToIntBits(value);
        writeFixedLengthInt(fieldBuffer, intBits);
    }
View Full Code Here

    /**
     * Serialize a double into 8 consecutive bytes
     */
    @Override
    public void serializePrimitive(FlatBlobSerializationRecord rec, String fieldName, double value) {
        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldName);
        long intBits = Double.doubleToLongBits(value);
        writeFixedLengthLong(fieldBuffer, intBits);
    }
View Full Code Here

    /**
     * Serialize a boolean as a single byte
     */
    @Override
    public void serializePrimitive(FlatBlobSerializationRecord rec, String fieldName, boolean value) {
        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldName);
        byte byteValue = value ? (byte) 1 : (byte) 0;
        fieldBuffer.write(byteValue);
    }
View Full Code Here

        Assert.assertEquals(Integer.valueOf(100), deserializedTypeD.getVal());
        Assert.assertEquals(new TypeA(1, 1), deserializedTypeD.getTypeA());
    }

    private FastBlobDeserializationRecord createDeserializationRecord(FastBlobSchema schema, FastBlobSerializationRecord rec) {
        ByteDataBuffer originalRecord  = new ByteDataBuffer();
        rec.writeDataTo(originalRecord);
        FastBlobDeserializationRecord deserializationRec = new FastBlobDeserializationRecord(schema, originalRecord.getUnderlyingArray());
        deserializationRec.position(0);
        return deserializationRec;
    }
View Full Code Here

    @Override
    public void serializeBytes(FlatBlobSerializationRecord rec, String fieldName, byte[] value) {
        if(value == null)
            return;

        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldName);

        for (int i = 0; i < value.length; i++) {
            fieldBuffer.write(value[i]);
        }
    }
View Full Code Here

        deserializationRec.position(0);
        return deserializationRec;
    }

    private FastBlobDeserializationRecord remapOrdinals(FastBlobSchema schema, FastBlobDeserializationRecord deserializationRec) {
        ByteDataBuffer remappedRecordSpace = new ByteDataBuffer();
        ordinalRemapper.remapOrdinals(deserializationRec, remappedRecordSpace);
        FastBlobDeserializationRecord remappedRec = new FastBlobDeserializationRecord(schema, remappedRecordSpace.getUnderlyingArray());
        remappedRec.position(0);
        return remappedRec;
    }
View Full Code Here

        int ordinal = findOrdinalInStateEngine(typeName, obj);

        FlatBlobSerializationRecord subRecord = getSerializationRecord(typeName);
        framework.getSerializer(typeName).serialize(obj, subRecord);

        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldPosition);
        VarInt.writeVInt(fieldBuffer, ordinal);
        VarInt.writeVInt(fieldBuffer, subRecord.sizeOfData());
        subRecord.writeDataTo(fieldBuffer);
    }
View Full Code Here

        NFTypeSerializer<Object> elementSerializer = framework.getSerializer(typeName);

        int fieldPosition = rec.getSchema().getPosition(fieldName);

        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldPosition);

        FlatBlobSerializationRecord subRecord = getSerializationRecord(typeName);

        for(T t : obj) {
            if(t == null) {
View Full Code Here

        FastBlobTypeDeserializationState<Object> typeDeserializationState = stateEngine.getTypeDeserializationState(typeName);

        int fieldPosition = rec.getSchema().getPosition(fieldName);

        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(fieldPosition);

        int setOrdinals[] = new int[set.size()];
        Object unidentifiedSetObjects[] = null;

        int i = 0;
View Full Code Here

TOP

Related Classes of com.netflix.zeno.fastblob.record.ByteDataBuffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.