Repository: incubator-ignite
Updated Branches:
  refs/heads/gg-9998 [created] d50b6ab29


gg-9998: Add new type of message.


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

Branch: refs/heads/gg-9998
Commit: d50b6ab2980c82e6e9ae0000030c643647b9f002
Parents: bca4198
Author: ivasilinets <vasilinetc....@gmail.com>
Authored: Tue Mar 31 00:22:32 2015 +0300
Committer: ivasilinets <vasilinetc....@gmail.com>
Committed: Tue Mar 31 00:24:06 2015 +0300

----------------------------------------------------------------------
 .../communication/GridIoMessageFactory.java     |   5 +
 .../deployment/GridDeploymentRequest.java       |  18 +++-
 .../deployment/GridDeploymentTestMessage.java   | 104 +++++++++++++++++++
 .../processors/cache/GridCacheMessage.java      |  17 +++
 4 files changed, 143 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d50b6ab2/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index b82147b..271528c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -595,6 +595,11 @@ public class GridIoMessageFactory implements 
MessageFactory {
 
                 break;
 
+            case 112:
+                msg = new GridDeploymentTestMessage();
+
+                break;
+
             default:
                 if (ext != null) {
                     for (MessageFactory factory : ext) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d50b6ab2/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentRequest.java
index a6d80bb..e56357d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentRequest.java
@@ -55,6 +55,8 @@ public class GridDeploymentRequest implements Message {
     @GridDirectCollection(UUID.class)
     private Collection<UUID> nodeIds;
 
+    private GridDeploymentTestMessage testMessage;
+
     /**
      * No-op constructor to support {@link Externalizable} interface.
      * This constructor is not meant to be used for other purposes.
@@ -197,6 +199,12 @@ public class GridDeploymentRequest implements Message {
 
                 writer.incrementState();
 
+            case 5:
+                if (!writer.writeMessage("testMessage", testMessage))
+                    return false;
+
+                writer.incrementState();
+
         }
 
         return true;
@@ -250,6 +258,14 @@ public class GridDeploymentRequest implements Message {
 
                 reader.incrementState();
 
+            case 5:
+                testMessage = reader.readMessage("testMessage");
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
         }
 
         return true;
@@ -262,7 +278,7 @@ public class GridDeploymentRequest implements Message {
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 5;
+        return 6;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d50b6ab2/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentTestMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentTestMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentTestMessage.java
new file mode 100644
index 0000000..5321e11
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentTestMessage.java
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.managers.deployment;
+
+import org.apache.ignite.plugin.extensions.communication.Message;
+import 
org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
+import org.apache.ignite.plugin.extensions.communication.MessageReader;
+import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+
+import java.nio.ByteBuffer;
+
+/**
+ * Test message.
+ */
+public class GridDeploymentTestMessage implements Message{
+    /** */
+    private boolean testBool = true;
+
+    /** */
+    private Integer[] testArray = {1 , 2, 3};
+
+    /** {@inheritDoc} */
+    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+        writer.setBuffer(buf);
+
+        if (!writer.isHeaderWritten()) {
+            if (!writer.writeHeader(directType(), fieldsCount()))
+                return false;
+
+            writer.onHeaderWritten();
+        }
+
+        switch (writer.state()) {
+            case 0:
+                if (!writer.writeObjectArray("testArray", testArray, 
MessageCollectionItemType.INT))
+                    return false;
+
+                writer.incrementState();
+
+            case 1:
+                if (!writer.writeBoolean("testBool", testBool))
+                    return false;
+
+                writer.incrementState();
+
+        }
+
+        return true;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+        reader.setBuffer(buf);
+
+        if (!reader.beforeMessageRead())
+            return false;
+
+        switch (reader.state()) {
+            case 0:
+                testArray = reader.readObjectArray("testArray", 
MessageCollectionItemType.INT, Integer.class);
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
+            case 1:
+                testBool = reader.readBoolean("testBool");
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
+        }
+
+        return true;
+    }
+
+    /** {@inheritDoc} */
+    @Override public byte directType() {
+        return 112;
+    }
+
+    /** {@inheritDoc} */
+    @Override public byte fieldsCount() {
+        return 2;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d50b6ab2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
index b9bce3e..7464c82 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
@@ -69,6 +69,9 @@ public abstract class GridCacheMessage implements Message {
     /** Cache ID. */
     protected int cacheId;
 
+    @GridDirectCollection(Integer.class)
+    public Collection<Integer> testCollection = new HashSet<>(Arrays.asList(1, 
2, 3));
+
     /**
      * Gets next ID for indexed message ID.
      *
@@ -640,6 +643,12 @@ public abstract class GridCacheMessage implements Message {
 
                 writer.incrementState();
 
+            case 3:
+                if (!writer.writeCollection("testCollection", testCollection, 
MessageCollectionItemType.INT))
+                    return false;
+
+                writer.incrementState();
+
         }
 
         return true;
@@ -677,6 +686,14 @@ public abstract class GridCacheMessage implements Message {
 
                 reader.incrementState();
 
+            case 3:
+                testCollection = reader.readCollection("testCollection", 
MessageCollectionItemType.INT);
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
         }
 
         return true;

Reply via email to