You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vk...@apache.org on 2014/12/23 00:40:08 UTC

[14/20] incubator-ignite git commit: IGNITE-61 - Portable format in direct marshalling

IGNITE-61 - Portable format in direct marshalling


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

Branch: refs/heads/ignite-61
Commit: 4abbc39c04c66ff6ad88035ba787b9e496d28275
Parents: eb7eb8d
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Fri Dec 19 17:27:46 2014 +0300
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Fri Dec 19 17:27:46 2014 +0300

----------------------------------------------------------------------
 .../jobstealing/JobStealingRequest.java         |  8 ++---
 .../GridTcpCommunicationMessageAdapter.java     |  3 ++
 .../GridTcpCommunicationMessageState.java       | 38 ++++++++++++++++++++
 3 files changed, 45 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4abbc39c/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingRequest.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingRequest.java
index 73450e0..0c4e968 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingRequest.java
@@ -69,10 +69,10 @@ public class JobStealingRequest extends GridTcpCommunicationMessageAdapter {
         commState.setBuffer(buf);
 
         if (!commState.typeWritten) {
-            if (!commState.writeByte(directType()))
-                return false;
-
-            commState.typeWritten = true;
+//            if (!commState.writeByte(directType()))
+//                return false;
+//
+//            commState.typeWritten = true;
         }
 
         switch (commState.idx) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4abbc39c/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageAdapter.java b/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageAdapter.java
index d08caea..7f5d97c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageAdapter.java
@@ -56,6 +56,9 @@ public abstract class GridTcpCommunicationMessageAdapter implements Serializable
     public static final UUID UUID_NOT_READ = new UUID(0, 0);
 
     /** */
+    public static final ByteBuffer BYTE_BUF_NOT_READ = ByteBuffer.allocate(0);
+
+    /** */
     public static final IgniteUuid GRID_UUID_NOT_READ = new IgniteUuid(new UUID(0, 0), 0);
 
     /** */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4abbc39c/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageState.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageState.java b/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageState.java
index ee60070..c2d8b14 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageState.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/direct/GridTcpCommunicationMessageState.java
@@ -623,6 +623,44 @@ public class GridTcpCommunicationMessageState {
 
     /**
      * @param name Field name.
+     * @param buf Buffer.
+     * @return Whether value was fully written.
+     */
+    public final boolean putByteBuffer(String name, @Nullable ByteBuffer buf) {
+        byte[] arr = null;
+
+        if (buf != null) {
+            ByteBuffer buf0 = buf.duplicate();
+
+            buf0.flip();
+
+            arr = new byte[buf0.remaining()];
+
+            buf0.get(arr);
+        }
+
+        return putByteArray(name, arr);
+    }
+
+    /**
+     * @param name Field name.
+     * @return {@link ByteBuffer} or special
+     *      {@link GridTcpCommunicationMessageAdapter#BYTE_BUF_NOT_READ}
+     *      value if it was not fully read.
+     */
+    public final ByteBuffer getByteBuffer(String name) {
+        byte[] arr = getByteArray(name);
+
+        if (arr == BYTE_ARR_NOT_READ)
+            return BYTE_BUF_NOT_READ;
+        else if (arr == null)
+            return null;
+        else
+            return ByteBuffer.wrap(arr);
+    }
+
+    /**
+     * @param name Field name.
      * @param uuid {@link UUID}.
      * @return Whether value was fully written.
      */