You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/10/10 12:13:26 UTC

[30/50] [abbrv] ignite git commit: io

io


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

Branch: refs/heads/ignite-gg-8-io2-selNow
Commit: f6b0cb698e2754ef477f646c6dde395ee6d8b00a
Parents: c9b7965
Author: sboikov <sb...@gridgain.com>
Authored: Fri Sep 30 14:58:56 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Sep 30 14:58:56 2016 +0300

----------------------------------------------------------------------
 .../managers/communication/GridIoManager.java   |  25 +++++
 .../communication/IgniteIoTestMessage.java      | 105 +++++++++++++++----
 2 files changed, 107 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f6b0cb69/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index bb7bf69..e055f45 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -649,6 +649,31 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
                 closedTopics.add(e.getKey());
             }
         }
+
+//        Thread t = new Thread(
+//            new Runnable() {
+//                @Override public void run() {
+//                    for (;;) {
+//                        try {
+//                            Thread.sleep(5000);
+//                        }
+//                        catch (InterruptedException e) {
+//                            e.printStackTrace();
+//                        }
+//
+//                        synchronized (GridIoManager.class) {
+//                            log.info("Stats node=" + ctx.gridName() + " id=" + ctx.localNodeId());
+//
+//                            dumpStats();
+//                        }
+//                    }
+//                }
+//            }
+//        );
+//
+//        t.setDaemon(true);
+//
+//        t.start();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/f6b0cb69/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
index d8cb600..cb66103 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
@@ -17,15 +17,12 @@
 
 package org.apache.ignite.internal.managers.communication;
 
-import org.apache.ignite.internal.GridDirectTransient;
-import org.apache.ignite.internal.util.GridUnsafe;
+import java.nio.ByteBuffer;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.plugin.extensions.communication.MessageReader;
 import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
-import java.nio.ByteBuffer;
-
 /**
  *
  */
@@ -37,23 +34,17 @@ public class IgniteIoTestMessage implements Message {
     private static final long serialVersionUID = 0L;
 
     /** */
-    @GridDirectTransient
     private long id;
 
     /** */
-    @GridDirectTransient
     private byte flags;
 
     /** */
-    @GridDirectTransient
     private boolean req;
 
     /** */
-    @GridDirectTransient
     private byte payload[];
 
-    private byte[] data;
-
     /**
      *
      */
@@ -70,26 +61,20 @@ public class IgniteIoTestMessage implements Message {
         this.id = id;
         this.req = req;
         this.payload = payload;
-
-        data = new byte[10];
-
-        GridUnsafe.putByte(data, 0, (byte)0);
-        GridUnsafe.putBoolean(data, 1, req);
-        GridUnsafe.putLong(data, 2, id);
     }
 
     /**
      * @return Process from NIO thread flag.
      */
     public boolean processFromNioThread() {
-        return false;//isFlag(FLAG_PROC_FROM_NIO);
+        return isFlag(FLAG_PROC_FROM_NIO);
     }
 
     /**
      * @param procFromNioThread Process from NIO thread flag.
      */
     public void processFromNioThread(boolean procFromNioThread) {
-        //setFlag(procFromNioThread, FLAG_PROC_FROM_NIO);
+        setFlag(procFromNioThread, FLAG_PROC_FROM_NIO);
     }
 
     /**
@@ -130,26 +115,100 @@ public class IgniteIoTestMessage implements Message {
      * @return {@code True} for request.
      */
     public boolean request() {
-        return GridUnsafe.getBoolean(data, 1);
-        //return req;
+        return req;
     }
 
     /**
      * @return ID.
      */
     public long id() {
-        return GridUnsafe.getLong(data, 2);
-        //return id;
+        return id;
     }
 
     /** {@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.writeByte("flags", flags))
+                    return false;
+
+                writer.incrementState();
+
+            case 1:
+                if (!writer.writeLong("id", id))
+                    return false;
+
+                writer.incrementState();
+
+            case 2:
+                if (!writer.writeByteArray("payload", payload))
+                    return false;
+
+                writer.incrementState();
+
+            case 3:
+                if (!writer.writeBoolean("req", req))
+                    return false;
+
+                writer.incrementState();
+
+        }
+
         return true;
     }
 
     /** {@inheritDoc} */
     @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        return true;
+        reader.setBuffer(buf);
+
+        if (!reader.beforeMessageRead())
+            return false;
+
+        switch (reader.state()) {
+            case 0:
+                flags = reader.readByte("flags");
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
+            case 1:
+                id = reader.readLong("id");
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
+            case 2:
+                payload = reader.readByteArray("payload");
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
+            case 3:
+                req = reader.readBoolean("req");
+
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
+
+        }
+
+        return reader.afterMessageRead(IgniteIoTestMessageOrig.class);
     }
 
     /** {@inheritDoc} */