Search in sources :

Example 1 with CO

use of org.apache.ignite.internal.util.typedef.CO in project ignite by apache.

the class GridMarshallerPerformanceTest method testByteBuffer.

/**
     * @throws Exception If failed.
     */
public void testByteBuffer() throws Exception {
    final ByteBuffer buf = ByteBuffer.allocate(1024);
    IgniteInClosure<TestObject> writer = new CI1<TestObject>() {

        @Override
        public void apply(TestObject obj) {
            buf.clear();
            obj.write(buf);
        }
    };
    IgniteOutClosure<TestObject> reader = new CO<TestObject>() {

        @Override
        public TestObject apply() {
            buf.flip();
            return TestObject.read(buf);
        }
    };
    runTest("ByteBuffer", writer, reader);
}
Also used : CI1(org.apache.ignite.internal.util.typedef.CI1) CO(org.apache.ignite.internal.util.typedef.CO) ByteBuffer(java.nio.ByteBuffer)

Example 2 with CO

use of org.apache.ignite.internal.util.typedef.CO in project ignite by apache.

the class GridMarshallerPerformanceTest method testKryo.

/**
     * @throws Exception If failed.
     */
public void testKryo() throws Exception {
    final Kryo kryo = new Kryo();
    final ByteArrayOutputStream out = new ByteArrayOutputStream();
    IgniteInClosure<TestObject> writer = new CI1<TestObject>() {

        @Override
        public void apply(TestObject obj) {
            out.reset();
            Output kryoOut = null;
            try {
                kryoOut = new Output(out);
                kryo.writeObject(kryoOut, obj);
            } finally {
                U.close(kryoOut, log);
            }
        }
    };
    IgniteOutClosure<TestObject> reader = new CO<TestObject>() {

        @Override
        public TestObject apply() {
            Input kryoIn = null;
            try {
                kryoIn = new Input(new ByteArrayInputStream(out.toByteArray()));
                return kryo.readObject(kryoIn, TestObject.class);
            } finally {
                U.close(kryoIn, log);
            }
        }
    };
    runTest("Kryo", writer, reader);
}
Also used : Input(com.esotericsoftware.kryo.io.Input) ObjectInput(java.io.ObjectInput) ByteArrayInputStream(java.io.ByteArrayInputStream) Output(com.esotericsoftware.kryo.io.Output) ObjectOutput(java.io.ObjectOutput) CI1(org.apache.ignite.internal.util.typedef.CI1) ByteArrayOutputStream(java.io.ByteArrayOutputStream) CO(org.apache.ignite.internal.util.typedef.CO) Kryo(com.esotericsoftware.kryo.Kryo)

Aggregations

CI1 (org.apache.ignite.internal.util.typedef.CI1)2 CO (org.apache.ignite.internal.util.typedef.CO)2 Kryo (com.esotericsoftware.kryo.Kryo)1 Input (com.esotericsoftware.kryo.io.Input)1 Output (com.esotericsoftware.kryo.io.Output)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 ObjectInput (java.io.ObjectInput)1 ObjectOutput (java.io.ObjectOutput)1 ByteBuffer (java.nio.ByteBuffer)1