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