You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/09/29 19:49:38 UTC

[11/14] incubator-tinkerpop git commit: using the doWithXXX() methods of GryoPool and simplified the GryoSerializer.

using the doWithXXX() methods of GryoPool and simplified the GryoSerializer.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/c5827d2d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/c5827d2d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/c5827d2d

Branch: refs/heads/master
Commit: c5827d2dfbea56f9f7a849883d2ee0e7b85c21ca
Parents: dfd78ef
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon Sep 28 17:03:14 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Sep 28 17:03:14 2015 -0600

----------------------------------------------------------------------
 .../io/gryo/GryoDeserializationStream.groovy      |  6 +-----
 .../io/gryo/GryoSerializationStream.java          |  5 +----
 .../structure/io/gryo/GryoSerializerInstance.java | 18 +++++++-----------
 3 files changed, 9 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c5827d2d/spark-gremlin/src/main/groovy/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoDeserializationStream.groovy
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/main/groovy/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoDeserializationStream.groovy b/spark-gremlin/src/main/groovy/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoDeserializationStream.groovy
index b212dcf..4b508ea 100644
--- a/spark-gremlin/src/main/groovy/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoDeserializationStream.groovy
+++ b/spark-gremlin/src/main/groovy/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoDeserializationStream.groovy
@@ -20,7 +20,6 @@
 package org.apache.tinkerpop.gremlin.spark.structure.io.gryo
 
 import org.apache.spark.serializer.DeserializationStream
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoReader
 import org.apache.tinkerpop.shaded.kryo.KryoException
 import org.apache.tinkerpop.shaded.kryo.io.Input
 import scala.reflect.ClassTag
@@ -42,10 +41,7 @@ public final class GryoDeserializationStream extends DeserializationStream {
     @Override
     public <T> T readObject(final ClassTag<T> classTag) {
         try {
-            final GryoReader gryoReader = this.gryoSerializer.getGryoPool().takeReader();
-            final T t = (T) gryoReader.getKryo().readClassAndObject(this.input);
-            this.gryoSerializer.getGryoPool().offerReader(gryoReader);
-            return t;
+            return this.gryoSerializer.getGryoPool().doWithReader { reader -> (T) reader.getKryo().readClassAndObject(this.input) }
         } catch (final Throwable e) {
             if (e instanceof KryoException) {
                 final KryoException kryoException = (KryoException) e;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c5827d2d/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializationStream.java
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializationStream.java b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializationStream.java
index 6c1a164..33e809d 100644
--- a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializationStream.java
+++ b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializationStream.java
@@ -20,7 +20,6 @@
 package org.apache.tinkerpop.gremlin.spark.structure.io.gryo;
 
 import org.apache.spark.serializer.SerializationStream;
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter;
 import org.apache.tinkerpop.shaded.kryo.io.Output;
 import scala.reflect.ClassTag;
 
@@ -41,9 +40,7 @@ public final class GryoSerializationStream extends SerializationStream {
 
     @Override
     public <T> SerializationStream writeObject(final T t, final ClassTag<T> classTag) {
-        final GryoWriter writer = this.gryoSerializer.getGryoPool().takeWriter();
-        writer.getKryo().writeClassAndObject(this.output, t);
-        this.gryoSerializer.getGryoPool().offerWriter(writer);
+        this.gryoSerializer.getGryoPool().doWithWriter(writer -> writer.getKryo().writeClassAndObject(this.output, t));
         return this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c5827d2d/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializerInstance.java
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializerInstance.java b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializerInstance.java
index 764d8f0..c0571c0 100644
--- a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializerInstance.java
+++ b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializerInstance.java
@@ -23,8 +23,6 @@ import org.apache.spark.serializer.DeserializationStream;
 import org.apache.spark.serializer.SerializationStream;
 import org.apache.spark.serializer.SerializerInstance;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoPool;
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoReader;
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter;
 import org.apache.tinkerpop.shaded.kryo.io.Input;
 import org.apache.tinkerpop.shaded.kryo.io.Output;
 import scala.reflect.ClassTag;
@@ -50,25 +48,23 @@ public final class GryoSerializerInstance extends SerializerInstance {
 
     @Override
     public <T> ByteBuffer serialize(final T t, final ClassTag<T> classTag) {
-        final GryoWriter writer = this.gryoSerializer.getGryoPool().takeWriter();
-        writer.getKryo().writeClassAndObject(this.output, t);
-        this.output.flush();
-        this.gryoSerializer.getGryoPool().offerWriter(writer);
+        this.gryoSerializer.getGryoPool().doWithWriter(writer -> writer.getKryo().writeClassAndObject(this.output, t));
         return ByteBuffer.wrap(this.output.getBuffer());
     }
 
     @Override
     public <T> T deserialize(final ByteBuffer byteBuffer, final ClassTag<T> classTag) {
         this.input.setBuffer(byteBuffer.array());
-        final GryoReader reader = this.gryoSerializer.getGryoPool().takeReader();
-        final T t = (T) reader.getKryo().readClassAndObject(this.input);
-        this.gryoSerializer.getGryoPool().offerReader(reader);
-        return t;
+        return this.gryoSerializer.getGryoPool().doWithReader(reader -> (T) reader.getKryo().readClassAndObject(this.input));
     }
 
     @Override
     public <T> T deserialize(final ByteBuffer byteBuffer, final ClassLoader classLoader, final ClassTag<T> classTag) {
-        return this.deserialize(byteBuffer, classTag);
+        this.input.setBuffer(byteBuffer.array());
+        return this.gryoSerializer.getGryoPool().doWithReader(reader -> {
+            reader.getKryo().setClassLoader(classLoader);
+            return (T) reader.getKryo().readClassAndObject(this.input);
+        });
     }
 
     @Override