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.
*/