Request flags are merged into a single variable.

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

Branch: refs/heads/ignite-2523-1
Commit: f9c692c81e5b1b40a1f38d2cc66a3463bc8ac58e
Parents: b674fe9
Author: vozerov-gridgain <[email protected]>
Authored: Wed Apr 20 11:01:44 2016 +0300
Committer: vozerov-gridgain <[email protected]>
Committed: Wed Apr 20 11:01:44 2016 +0300

----------------------------------------------------------------------
 .../GridNearAtomicSingleUpdateRequest.java      | 183 ++++++++-----------
 1 file changed, 78 insertions(+), 105 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f9c692c8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
index efef7d2..ef84bf7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
@@ -66,18 +66,12 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
     /** Future version. */
     private GridCacheVersion futVer;
 
-    /** Fast map flag. */
-    private boolean fastMap;
-
     /** Update version. Set to non-null if fastMap is {@code true}. */
     private GridCacheVersion updateVer;
 
     /** Topology version. */
     private AffinityTopologyVersion topVer;
 
-    /** Topology locked flag. Set if atomic update is performed inside TX or 
explicit lock. */
-    private boolean topLocked;
-
     /** Write synchronization mode. */
     private CacheWriteSynchronizationMode syncMode;
 
@@ -104,9 +98,6 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
     /** Entry processor arguments bytes. */
     private byte[][] invokeArgsBytes;
 
-    /** Return value flag. */
-    private boolean retval;
-
     /** Expiry policy. */
     @GridDirectTransient
     private ExpiryPolicy expiryPlc;
@@ -126,6 +117,15 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
     /** Task name hash. */
     private int taskNameHash;
 
+    /** Fast map flag. */
+    private boolean fastMap;
+
+    /** Topology locked flag. Set if atomic update is performed inside TX or 
explicit lock. */
+    private boolean topLocked;
+
+    /** Return value flag. */
+    private boolean retval;
+
     /** Skip write-through to a persistent storage. */
     private boolean skipStore;
 
@@ -309,7 +309,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
     /** {@inheritDoc} */
     @Override @Nullable public CacheEntryPredicate[] filter() {
-        // TODO: Optimzie - no allocs!
+        // TODO: Optimize - no allocs!
         return CU.filterArray(filter.createPredicate(filterVal));
     }
 
@@ -491,7 +491,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
         switch (writer.state()) {
             case 3:
-                if (!writer.writeBoolean("clientReq", clientReq))
+                if (!writer.writeByte("flags", getFlags()))
                     return false;
 
                 writer.incrementState();
@@ -509,102 +509,72 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
                 writer.incrementState();
 
             case 6:
-                if (!writer.writeBoolean("fastMap", fastMap))
-                    return false;
-
-                writer.incrementState();
-
-            case 7:
                 if (!writer.writeByte("filter", (byte)op.ordinal()))
                     return false;
 
                 writer.incrementState();
 
-            case 8:
+            case 7:
                 if (!writer.writeMessage("filterVal", filterVal))
                     return false;
 
                 writer.incrementState();
 
-            case 9:
+            case 8:
                 if (!writer.writeMessage("futVer", futVer))
                     return false;
 
                 writer.incrementState();
 
-            case 10:
+            case 9:
                 if (!writer.writeObjectArray("invokeArgsBytes", 
invokeArgsBytes, MessageCollectionItemType.BYTE_ARR))
                     return false;
 
                 writer.incrementState();
 
-            case 11:
-                if (!writer.writeBoolean("keepBinary", keepBinary))
-                    return false;
-
-                writer.incrementState();
-
-            case 12:
+            case 10:
                 if (!writer.writeMessage("key", key))
                     return false;
 
                 writer.incrementState();
 
-            case 13:
+            case 11:
                 if (!writer.writeByte("op", op != null ? (byte)op.ordinal() : 
-1))
                     return false;
 
                 writer.incrementState();
 
-            case 14:
-                if (!writer.writeBoolean("retval", retval))
-                    return false;
-
-                writer.incrementState();
-
-            case 15:
-                if (!writer.writeBoolean("skipStore", skipStore))
-                    return false;
-
-                writer.incrementState();
-
-            case 16:
+            case 12:
                 if (!writer.writeUuid("subjId", subjId))
                     return false;
 
                 writer.incrementState();
 
-            case 17:
+            case 13:
                 if (!writer.writeByte("syncMode", syncMode != null ? 
(byte)syncMode.ordinal() : -1))
                     return false;
 
                 writer.incrementState();
 
-            case 18:
+            case 14:
                 if (!writer.writeInt("taskNameHash", taskNameHash))
                     return false;
 
                 writer.incrementState();
 
-            case 19:
-                if (!writer.writeBoolean("topLocked", topLocked))
-                    return false;
-
-                writer.incrementState();
-
-            case 20:
+            case 15:
                 if (!writer.writeMessage("topVer", topVer))
                     return false;
 
                 writer.incrementState();
 
-            case 21:
+            case 16:
                 if (!writer.writeMessage("updateVer", updateVer))
                     return false;
 
                 writer.incrementState();
 
-            case 22:
+            case 17:
                 if (!writer.writeMessage("val", val))
                     return false;
 
@@ -626,11 +596,15 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
         switch (reader.state()) {
             case 3:
-                clientReq = reader.readBoolean("clientReq");
+                byte flags;
+
+                flags = reader.readByte("flags");
 
                 if (!reader.isLastRead())
                     return false;
 
+                setFlags(flags);
+
                 reader.incrementState();
 
             case 4:
@@ -650,14 +624,6 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
                 reader.incrementState();
 
             case 6:
-                fastMap = reader.readBoolean("fastMap");
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 7:
                 byte filterOrd;
 
                 filterOrd = reader.readByte("filter");
@@ -669,7 +635,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 8:
+            case 7:
                 filterVal = reader.readMessage("filterVal");
 
                 if (!reader.isLastRead())
@@ -677,7 +643,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 9:
+            case 8:
                 futVer = reader.readMessage("futVer");
 
                 if (!reader.isLastRead())
@@ -685,7 +651,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 10:
+            case 9:
                 invokeArgsBytes = reader.readObjectArray("invokeArgsBytes", 
MessageCollectionItemType.BYTE_ARR, byte[].class);
 
                 if (!reader.isLastRead())
@@ -693,15 +659,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 11:
-                keepBinary = reader.readBoolean("keepBinary");
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 12:
+            case 10:
                 key = reader.readMessage("key");
 
                 if (!reader.isLastRead())
@@ -709,7 +667,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 13:
+            case 11:
                 byte opOrd;
 
                 opOrd = reader.readByte("op");
@@ -721,23 +679,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 14:
-                retval = reader.readBoolean("retval");
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 15:
-                skipStore = reader.readBoolean("skipStore");
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 16:
+            case 12:
                 subjId = reader.readUuid("subjId");
 
                 if (!reader.isLastRead())
@@ -745,7 +687,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 17:
+            case 13:
                 byte syncModeOrd;
 
                 syncModeOrd = reader.readByte("syncMode");
@@ -757,7 +699,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 18:
+            case 14:
                 taskNameHash = reader.readInt("taskNameHash");
 
                 if (!reader.isLastRead())
@@ -765,15 +707,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 19:
-                topLocked = reader.readBoolean("topLocked");
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 20:
+            case 15:
                 topVer = reader.readMessage("topVer");
 
                 if (!reader.isLastRead())
@@ -781,7 +715,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 21:
+            case 16:
                 updateVer = reader.readMessage("updateVer");
 
                 if (!reader.isLastRead())
@@ -789,7 +723,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
                 reader.incrementState();
 
-            case 22:
+            case 17:
                 val = reader.readMessage("val");
 
                 if (!reader.isLastRead())
@@ -802,6 +736,45 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
         return reader.afterMessageRead(GridNearAtomicUpdateRequest.class);
     }
 
+    /**
+     * @return Flags.
+     */
+    private byte getFlags() {
+        byte flags = 0;
+
+        if (fastMap)
+            flags |= 0x1;
+
+        if (topLocked)
+            flags |= 0x2;
+
+        if (retval)
+            flags |= 0x4;
+
+        if (skipStore)
+            flags |= 0x8;
+
+        if (clientReq)
+            flags |= 0x10;
+
+        if (keepBinary)
+            flags |= 0x20;
+
+        return flags;
+    }
+
+    /**
+     * @param flags Flags.
+     */
+    private void setFlags(byte flags) {
+        fastMap = (flags | 0x1) == 0x1;
+        topLocked = (flags | 0x2) == 0x2;
+        retval = (flags | 0x4) == 0x4;
+        skipStore = (flags | 0x8) == 0x8;
+        clientReq = (flags | 0x10) == 0x10;
+        keepBinary = (flags | 0x20) == 0x20;
+    }
+
     /** {@inheritDoc} */
     @Override public void cleanup(boolean clearKeys) {
         val = null;
@@ -819,7 +792,7 @@ public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpd
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 23;
+        return 18;
     }
 
     /** {@inheritDoc} */

Reply via email to