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