You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/14 15:13:34 UTC
[17/50] [abbrv] ignite git commit: IGNITE-3477 - Fixed direct
marshallable code
IGNITE-3477 - Fixed direct marshallable code
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b6b3d375
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b6b3d375
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b6b3d375
Branch: refs/heads/ignite-4587
Commit: b6b3d3754849aa54626befe2375cbc88cbebfab9
Parents: faaf92d
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Thu Apr 13 19:16:23 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Thu Apr 13 20:56:59 2017 +0300
----------------------------------------------------------------------
.../cache/binary/MetadataRequestMessage.java | 2 ++
.../cache/binary/MetadataResponseMessage.java | 36 +++++++++++++++-----
2 files changed, 30 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b3d375/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataRequestMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataRequestMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataRequestMessage.java
index 87bf805..b34acd8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataRequestMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataRequestMessage.java
@@ -70,6 +70,7 @@ public class MetadataRequestMessage implements Message {
return false;
writer.incrementState();
+
}
return true;
@@ -90,6 +91,7 @@ public class MetadataRequestMessage implements Message {
return false;
reader.incrementState();
+
}
return reader.afterMessageRead(MetadataRequestMessage.class);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b3d375/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataResponseMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataResponseMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataResponseMessage.java
index bb3d3a3..6ff4fd8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataResponseMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/MetadataResponseMessage.java
@@ -63,22 +63,23 @@ public class MetadataResponseMessage implements Message {
switch (writer.state()) {
case 0:
- if (!writer.writeInt("typeId", typeId))
+ if (!writer.writeByteArray("binaryMetadataBytes", binaryMetadataBytes))
return false;
writer.incrementState();
case 1:
- if (!writer.writeInt("status", status.ordinal()))
+ if (!writer.writeByte("status", status != null ? (byte)status.ordinal() : -1))
return false;
writer.incrementState();
case 2:
- if (!writer.writeByteArray("binMetaBytes", binaryMetadataBytes))
+ if (!writer.writeInt("typeId", typeId))
return false;
writer.incrementState();
+
}
return true;
@@ -93,7 +94,7 @@ public class MetadataResponseMessage implements Message {
switch (reader.state()) {
case 0:
- typeId = reader.readInt("typeId");
+ binaryMetadataBytes = reader.readByteArray("binaryMetadataBytes");
if (!reader.isLastRead())
return false;
@@ -101,18 +102,25 @@ public class MetadataResponseMessage implements Message {
reader.incrementState();
case 1:
- status = ClientResponseStatus.values()[reader.readInt("status")];
+ byte statusOrd;
+
+ statusOrd = reader.readByte("status");
if (!reader.isLastRead())
return false;
+ status = ClientResponseStatus.fromOrdinal(statusOrd);
+
reader.incrementState();
case 2:
- binaryMetadataBytes = reader.readByteArray("binMetaBytes");
+ typeId = reader.readInt("typeId");
if (!reader.isLastRead())
return false;
+
+ reader.incrementState();
+
}
return reader.afterMessageRead(MetadataResponseMessage.class);
@@ -131,7 +139,6 @@ public class MetadataResponseMessage implements Message {
/** {@inheritDoc} */
@Override public void onAckReceived() {
// No-op.
-
}
/**
@@ -185,7 +192,20 @@ public class MetadataResponseMessage implements Message {
METADATA_NOT_FOUND,
/** */
- ERROR
+ ERROR;
+
+ /** Enumerated values. */
+ private static final ClientResponseStatus[] VALS = values();
+
+ /**
+ * Efficiently gets enumerated value from its ordinal.
+ *
+ * @param ord Ordinal value.
+ * @return Enumerated value.
+ */
+ public static ClientResponseStatus fromOrdinal(byte ord) {
+ return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+ }
}
/** {@inheritDoc} */