This is an automated email from the ASF dual-hosted git repository.
timoninmaxim pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 7f5aa0b37e2 IGNITE-26508 Encapsulate ByteBuffer into
DirectMessageWriter/Reader (#12447)
7f5aa0b37e2 is described below
commit 7f5aa0b37e27a8c9acbc438c4fed1f1c72a36601
Author: Maksim Timonin <[email protected]>
AuthorDate: Wed Oct 29 12:08:24 2025 +0300
IGNITE-26508 Encapsulate ByteBuffer into DirectMessageWriter/Reader (#12447)
---
.../internal/MessageSerializerGenerator.java | 10 ++-----
.../internal/direct/DirectMessageReader.java | 16 ++++++++++
.../internal/direct/DirectMessageWriter.java | 16 ++++++++++
.../direct/stream/DirectByteBufferStream.java | 4 +--
.../communication/IgniteMessageFactoryImpl.java | 16 ++++++++--
.../internal/processors/odbc/ClientMessage.java | 18 +++++------
.../apache/ignite/internal/util/IgniteUtils.java | 35 ----------------------
.../ignite/internal/util/nio/GridDirectParser.java | 10 ++++---
.../ignite/internal/util/nio/GridNioServer.java | 12 +++++---
.../extensions/communication/MessageReader.java | 5 +++-
.../communication/MessageSerializer.java | 8 ++---
.../extensions/communication/MessageWriter.java | 5 +++-
.../tcp/internal/TcpHandshakeExecutor.java | 11 +++++--
...tractCommunicationMessageSerializationTest.java | 16 ++--------
.../apache/ignite/util/GridLongListSelfTest.java | 7 ++---
.../resources/codegen/ChildMessageSerializer.java | 9 ++----
.../codegen/TestCollectionsMessageSerializer.java | 9 ++----
.../codegen/TestMapMessageSerializer.java | 9 ++----
.../resources/codegen/TestMessageSerializer.java | 9 ++----
19 files changed, 102 insertions(+), 123 deletions(-)
diff --git
a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
index 2ad8b96c728..4591382105b 100644
---
a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
+++
b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
@@ -183,11 +183,9 @@ class MessageSerializerGenerator {
/**
* Generates start of write/read methods:
* <pre>
- * public boolean writeTo(Message m, ByteBuffer buf, MessageWriter
writer) {
+ * public boolean writeTo(Message m, MessageWriter writer) {
* TestMessage msg = (TestMessage)m;
*
- * writer.setBuffer(buf);
- *
* if (!writer.isHeaderWritten()) {
* if (!writer.writeHeader(msg.directType()))
* return false;
@@ -204,16 +202,13 @@ class MessageSerializerGenerator {
code.add(line(METHOD_JAVADOC));
- code.add(line("@Override public boolean %s(Message m, ByteBuffer buf,
%s) {",
+ code.add(line("@Override public boolean %s(Message m, %s) {",
write ? "writeTo" : "readFrom",
write ? "MessageWriter writer" : "MessageReader reader"));
indent++;
code.add(line("%s msg = (%s)m;", type.getSimpleName().toString(),
type.getSimpleName().toString()));
- code.add(EMPTY);
- code.add(line("%s.setBuffer(buf);", write ? "writer" : "reader"));
-
code.add(EMPTY);
if (write) {
@@ -693,7 +688,6 @@ class MessageSerializerGenerator {
writer.write(NL);
writer.write("package " + pkgName + ";" + NL + NL);
- imports.add("java.nio.ByteBuffer");
imports.add("org.apache.ignite.plugin.extensions.communication.Message");
imports.add("org.apache.ignite.plugin.extensions.communication.MessageSerializer");
imports.add("org.apache.ignite.plugin.extensions.communication.MessageWriter");
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageReader.java
b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageReader.java
index 5528e42e1b9..ec42277634c 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageReader.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageReader.java
@@ -48,6 +48,9 @@ public class DirectMessageReader implements MessageReader {
@GridToStringInclude
private final DirectMessageState<StateItem> state;
+ /** Buffer for reading. */
+ private ByteBuffer buf;
+
/** Whether last field was fully read. */
private boolean lastRead;
@@ -65,9 +68,20 @@ public class DirectMessageReader implements MessageReader {
/** {@inheritDoc} */
@Override public void setBuffer(ByteBuffer buf) {
+ this.buf = buf;
+
state.item().stream.setBuffer(buf);
}
+ /**
+ * Gets but buffer to read from.
+ *
+ * @return Byte buffer.
+ */
+ public ByteBuffer getBuffer() {
+ return buf;
+ }
+
/** {@inheritDoc} */
@Override public byte readByte() {
DirectByteBufferStream stream = state.item().stream;
@@ -395,6 +409,8 @@ public class DirectMessageReader implements MessageReader {
/** {@inheritDoc} */
@Override public void beforeInnerMessageRead() {
state.forward();
+
+ state.item().stream.setBuffer(buf);
}
/** {@inheritDoc} */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java
b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java
index fb51a2e5d56..7a4cf9138fb 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/direct/DirectMessageWriter.java
@@ -47,6 +47,9 @@ public class DirectMessageWriter implements MessageWriter {
@GridToStringInclude
private final DirectMessageState<StateItem> state;
+ /** Buffer for writing. */
+ private ByteBuffer buf;
+
/** */
public DirectMessageWriter(final MessageFactory msgFactory) {
state = new DirectMessageState<>(StateItem.class, new
IgniteOutClosure<StateItem>() {
@@ -58,9 +61,20 @@ public class DirectMessageWriter implements MessageWriter {
/** {@inheritDoc} */
@Override public void setBuffer(ByteBuffer buf) {
+ this.buf = buf;
+
state.item().stream.setBuffer(buf);
}
+ /**
+ * Gets buffer to write to.
+ *
+ * @return Byte buffer.
+ */
+ public ByteBuffer getBuffer() {
+ return buf;
+ }
+
/** {@inheritDoc} */
@Override public boolean writeHeader(short type) {
DirectByteBufferStream stream = state.item().stream;
@@ -364,6 +378,8 @@ public class DirectMessageWriter implements MessageWriter {
/** {@inheritDoc} */
@Override public void beforeInnerMessageWrite() {
state.forward();
+
+ state.item().stream.setBuffer(buf);
}
/** {@inheritDoc} */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/direct/stream/DirectByteBufferStream.java
b/modules/core/src/main/java/org/apache/ignite/internal/direct/stream/DirectByteBufferStream.java
index 2c6a99b61c3..a95c5e094a1 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/direct/stream/DirectByteBufferStream.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/direct/stream/DirectByteBufferStream.java
@@ -884,7 +884,7 @@ public class DirectByteBufferStream {
try {
writer.beforeInnerMessageWrite();
- lastFinished =
msgFactory.serializer(msg.directType()).writeTo(msg, buf, writer);
+ lastFinished =
msgFactory.serializer(msg.directType()).writeTo(msg, writer);
}
finally {
writer.afterInnerMessageWrite(lastFinished);
@@ -1536,7 +1536,7 @@ public class DirectByteBufferStream {
try {
reader.beforeInnerMessageRead();
- lastFinished =
msgFactory.serializer(msg.directType()).readFrom(msg, buf, reader);
+ lastFinished =
msgFactory.serializer(msg.directType()).readFrom(msg, reader);
}
finally {
reader.afterInnerMessageRead(lastFinished);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
index deb83b2c6a9..9ae810a6053 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteMessageFactoryImpl.java
@@ -22,6 +22,8 @@ import java.nio.ByteBuffer;
import java.util.function.Supplier;
import org.apache.ignite.IgniteException;
+import org.apache.ignite.internal.direct.DirectMessageReader;
+import org.apache.ignite.internal.direct.DirectMessageWriter;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import
org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
@@ -43,12 +45,22 @@ public class IgniteMessageFactoryImpl implements
MessageFactory {
/** Delegate serialization to {@code Message} methods. */
private static final MessageSerializer DEFAULT_SERIALIZER = new
MessageSerializer() {
/** {@inheritDoc} */
- @Override public boolean writeTo(Message msg, ByteBuffer buf,
MessageWriter writer) {
+ @Override public boolean writeTo(Message msg, MessageWriter writer) {
+ ByteBuffer buf = null;
+
+ if (writer instanceof DirectMessageWriter)
+ buf = ((DirectMessageWriter)writer).getBuffer();
+
return msg.writeTo(buf, writer);
}
/** {@inheritDoc} */
- @Override public boolean readFrom(Message msg, ByteBuffer buf,
MessageReader reader) {
+ @Override public boolean readFrom(Message msg, MessageReader reader) {
+ ByteBuffer buf = null;
+
+ if (reader instanceof DirectMessageReader)
+ buf = ((DirectMessageReader)reader).getBuffer();
+
return msg.readFrom(buf, reader);
}
};
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
index a8745148b8e..4e83211deee 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
@@ -22,15 +22,11 @@ import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.nio.ByteBuffer;
-import org.apache.ignite.internal.IgniteCodeGeneratingFail;
import org.apache.ignite.internal.binary.streams.BinaryOutputStream;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
/** */
-@IgniteCodeGeneratingFail
public class ClientMessage implements Message, Externalizable {
/** */
private static final long serialVersionUID = -4609408156037304495L;
@@ -85,8 +81,13 @@ public class ClientMessage implements Message,
Externalizable {
isFirstMessage = false;
}
- /** {@inheritDoc} */
- @Override public boolean writeTo(ByteBuffer buf, MessageWriter ignored) {
+ /**
+ * Writes this message to provided byte buffer.
+ *
+ * @param buf Byte buffer.
+ * @return Whether message was fully written.
+ */
+ public boolean writeTo(ByteBuffer buf) {
assert stream != null || data != null;
byte[] data = stream != null ? stream.array() : this.data;
@@ -132,11 +133,6 @@ public class ClientMessage implements Message,
Externalizable {
return false;
}
- /** {@inheritDoc} */
- @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
- throw new UnsupportedOperationException();
- }
-
/**
* Reads this message from provided byte buffer.
*
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 32e7c4da1ad..0e175970852 100755
---
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -222,8 +222,6 @@ import org.apache.ignite.logger.java.JavaLogger;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.marshaller.Marshallers;
import org.apache.ignite.plugin.PluginProvider;
-import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.apache.ignite.spi.IgniteSpi;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.discovery.DiscoverySpi;
@@ -6613,39 +6611,6 @@ public abstract class IgniteUtils extends CommonUtils {
return list;
}
- /**
- * Fully writes communication message to provided stream.
- *
- * @param msg Message.
- * @param out Stream to write to.
- * @param buf Byte buffer that will be passed to {@link
Message#writeTo(ByteBuffer, MessageWriter)} method.
- * @param writer Message writer.
- * @return Number of written bytes.
- * @throws IOException In case of error.
- */
- public static int writeMessageFully(Message msg, OutputStream out,
ByteBuffer buf,
- MessageWriter writer) throws IOException {
- assert msg != null;
- assert out != null;
- assert buf != null;
- assert buf.hasArray();
-
- boolean finished = false;
- int cnt = 0;
-
- while (!finished) {
- finished = msg.writeTo(buf, writer);
-
- out.write(buf.array(), 0, buf.position());
-
- cnt += buf.position();
-
- buf.clear();
- }
-
- return cnt;
- }
-
/**
* Throws exception with uniform error message if given parameter's
assertion condition
* is {@code false}.
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
index 65db20856c9..faf416dfdbe 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
@@ -22,10 +22,10 @@ import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.internal.direct.DirectMessageReader;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageSerializer;
import org.jetbrains.annotations.Nullable;
@@ -67,10 +67,10 @@ public class GridDirectParser implements GridNioParser {
/** {@inheritDoc} */
@Nullable @Override public Object decode(GridNioSession ses, ByteBuffer
buf)
throws IOException, IgniteCheckedException {
- MessageReader reader = ses.meta(READER_META_KEY);
+ DirectMessageReader reader = ses.meta(READER_META_KEY);
if (reader == null)
- ses.addMeta(READER_META_KEY, reader = readerFactory.reader(ses,
msgFactory));
+ ses.addMeta(READER_META_KEY, reader =
(DirectMessageReader)readerFactory.reader(ses, msgFactory));
Message msg = ses.removeMeta(MSG_META_KEY);
@@ -87,7 +87,9 @@ public class GridDirectParser implements GridNioParser {
if (msg != null && buf.hasRemaining()) {
MessageSerializer msgSer =
msgFactory.serializer(msg.directType());
- finished = msgSer.readFrom(msg, buf, reader);
+ reader.setBuffer(buf);
+
+ finished = msgSer.readFrom(msg, reader);
}
if (finished) {
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index 849e6485eae..74adb6db642 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@ -1611,12 +1611,14 @@ public class GridNioServer<T> {
if (messageFactory() == null) {
assert msg instanceof ClientMessage; // TODO: Will
refactor in IGNITE-26554.
- finished = msg.writeTo(buf, writer);
+ finished = ((ClientMessage)msg).writeTo(buf);
}
else {
MessageSerializer msgSer =
messageFactory().serializer(msg.directType());
- finished = msgSer.writeTo(msg, buf, writer);
+ writer.setBuffer(buf);
+
+ finished = msgSer.writeTo(msg, writer);
}
span.addTag(SOCKET_WRITE_BYTES, () ->
Integer.toString(buf.position() - startPos));
@@ -1810,12 +1812,14 @@ public class GridNioServer<T> {
if (msgFactory == null) {
assert msg instanceof ClientMessage; // TODO: Will
refactor in IGNITE-26554.
- finished = msg.writeTo(buf, writer);
+ finished = ((ClientMessage)msg).writeTo(buf);
}
else {
MessageSerializer msgSer =
msgFactory.serializer(msg.directType());
- finished = msgSer.writeTo(msg, buf, writer);
+ writer.setBuffer(buf);
+
+ finished = msgSer.writeTo(msg, writer);
}
span.addTag(SOCKET_WRITE_BYTES, () ->
Integer.toString(buf.position() - startPos));
diff --git
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
index e1622b60c41..b5e4d506be7 100644
---
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
+++
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
@@ -40,7 +40,10 @@ public interface MessageReader {
*
* @param buf Byte buffer.
*/
- public void setBuffer(ByteBuffer buf);
+ @Deprecated
+ public default void setBuffer(ByteBuffer buf) {
+ // No-op.
+ }
/**
* Reads {@code byte} value.
diff --git
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
index 6a111f1e9fa..706b1891572 100644
---
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
+++
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
@@ -17,8 +17,6 @@
package org.apache.ignite.plugin.extensions.communication;
-import java.nio.ByteBuffer;
-
/**
* Interface for message serialization logic.
*/
@@ -27,19 +25,17 @@ public interface MessageSerializer {
* Writes this message to provided byte buffer.
*
* @param msg Message instance.
- * @param buf Byte buffer.
* @param writer Writer.
* @return Whether message was fully written.
*/
- public boolean writeTo(Message msg, ByteBuffer buf, MessageWriter writer);
+ public boolean writeTo(Message msg, MessageWriter writer);
/**
* Reads this message from provided byte buffer.
*
* @param msg Message instance.
- * @param buf Byte buffer.
* @param reader Reader.
* @return Whether message was fully read.
*/
- public boolean readFrom(Message msg, ByteBuffer buf, MessageReader reader);
+ public boolean readFrom(Message msg, MessageReader reader);
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
index c0a2c8fc744..ad19e865fc6 100644
---
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
+++
b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
@@ -40,7 +40,10 @@ public interface MessageWriter {
*
* @param buf Byte buffer.
*/
- public void setBuffer(ByteBuffer buf);
+ @Deprecated
+ public default void setBuffer(ByteBuffer buf) {
+ // No-op.
+ }
/**
* Writes message header.
diff --git
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpHandshakeExecutor.java
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpHandshakeExecutor.java
index 12c1a932ab1..fd86c7f455f 100644
---
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpHandshakeExecutor.java
+++
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpHandshakeExecutor.java
@@ -171,8 +171,9 @@ public class TcpHandshakeExecutor {
buf.position(DIRECT_TYPE_SIZE);
NodeIdMessage nodeIdMsg = new NodeIdMessage();
+ reader.setBuffer(buf);
- msgFactory.serializer(nodeIdMsg.directType()).readFrom(nodeIdMsg,
buf, reader);
+ msgFactory.serializer(nodeIdMsg.directType()).readFrom(nodeIdMsg,
reader);
reader.reset();
return nodeIdMsg.nodeId();
@@ -189,7 +190,9 @@ public class TcpHandshakeExecutor {
.order(ByteOrder.LITTLE_ENDIAN)
.put(U.IGNITE_HEADER);
- msgFactory.serializer(msg.directType()).writeTo(msg, buf, writer);
+ writer.setBuffer(buf);
+
+ msgFactory.serializer(msg.directType()).writeTo(msg, writer);
buf.flip();
@@ -239,7 +242,9 @@ public class TcpHandshakeExecutor {
buf.position(readPos);
- fininshed = msgSer.readFrom(msg, buf, reader);
+ reader.setBuffer(buf);
+
+ fininshed = msgSer.readFrom(msg, reader);
readPos = buf.position();
}
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
index d30c93514cf..a12b999c2cb 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.managers.communication;
-import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Collection;
@@ -43,9 +42,6 @@ import static org.junit.Assert.assertEquals;
/** */
public abstract class AbstractCommunicationMessageSerializationTest {
- /** */
- private static final ByteBuffer TEST_BYTE_BUFFER =
ByteBuffer.allocate(1024);
-
/** */
@Test
public void testMessageSerializationAndDeserializationConsistency() throws
Exception {
@@ -100,13 +96,13 @@ public abstract class
AbstractCommunicationMessageSerializationTest {
initializeMessage(msg);
- while (!msgFactory.serializer(msgType).writeTo(msg, TEST_BYTE_BUFFER,
writer)) {
+ while (!msgFactory.serializer(msgType).writeTo(msg, writer)) {
// No-op.
}
msg = msgFactory.create(msgType);
- while (!msgFactory.serializer(msgType).readFrom(msg, TEST_BYTE_BUFFER,
reader)) {
+ while (!msgFactory.serializer(msgType).readFrom(msg, reader)) {
// No-op.
}
@@ -153,9 +149,6 @@ public abstract class
AbstractCommunicationMessageSerializationTest {
return false;
}
- /** {@inheritDoc} */
- @Override public void setBuffer(ByteBuffer buf) {}
-
/** {@inheritDoc} */
@Override public boolean writeHeader(short type) {
return true;
@@ -371,11 +364,6 @@ public abstract class
AbstractCommunicationMessageSerializationTest {
readFields.add(type);
}
- /** {@inheritDoc} */
- @Override public void setBuffer(ByteBuffer buf) {
- // No-op.
- }
-
/** {@inheritDoc} */
@Override public byte readByte() {
readField(byte.class);
diff --git
a/modules/core/src/test/java/org/apache/ignite/util/GridLongListSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/util/GridLongListSelfTest.java
index 981653bbb52..089ba2bdfa8 100644
---
a/modules/core/src/test/java/org/apache/ignite/util/GridLongListSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/util/GridLongListSelfTest.java
@@ -21,7 +21,6 @@ import java.nio.ByteBuffer;
import org.apache.ignite.internal.direct.DirectMessageWriter;
import org.apache.ignite.internal.util.GridLongList;
import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.junit.Assert;
import org.junit.Test;
@@ -156,7 +155,7 @@ public class GridLongListSelfTest {
* @param initSz Initial size of list.
*/
private static void testSerialization(GridLongList ll, int initSz) {
- MessageWriter writer = new DirectMessageWriter(null);
+ DirectMessageWriter writer = new DirectMessageWriter(null);
ByteBuffer buf = ByteBuffer.allocate(4096);
@@ -237,7 +236,7 @@ public class GridLongListSelfTest {
/** */
@Test
public void testSerializationInsufficientBuffer() {
- MessageWriter writer = new DirectMessageWriter(null);
+ DirectMessageWriter writer = new DirectMessageWriter(null);
ByteBuffer buf = ByteBuffer.allocate(10);
@@ -253,7 +252,7 @@ public class GridLongListSelfTest {
/** */
@Test
public void testSerializationOfNullValue() {
- MessageWriter writer = new DirectMessageWriter(null);
+ DirectMessageWriter writer = new DirectMessageWriter(null);
ByteBuffer buf = ByteBuffer.allocate(4096);
diff --git
a/modules/core/src/test/resources/codegen/ChildMessageSerializer.java
b/modules/core/src/test/resources/codegen/ChildMessageSerializer.java
index 9a4cc2f17ee..c4d3599e97b 100644
--- a/modules/core/src/test/resources/codegen/ChildMessageSerializer.java
+++ b/modules/core/src/test/resources/codegen/ChildMessageSerializer.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.codegen;
-import java.nio.ByteBuffer;
import org.apache.ignite.internal.ChildMessage;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -31,11 +30,9 @@ import
org.apache.ignite.plugin.extensions.communication.MessageWriter;
*/
public class ChildMessageSerializer implements MessageSerializer {
/** */
- @Override public boolean writeTo(Message m, ByteBuffer buf, MessageWriter
writer) {
+ @Override public boolean writeTo(Message m, MessageWriter writer) {
ChildMessage msg = (ChildMessage)m;
- writer.setBuffer(buf);
-
if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(msg.directType()))
return false;
@@ -61,11 +58,9 @@ public class ChildMessageSerializer implements
MessageSerializer {
}
/** */
- @Override public boolean readFrom(Message m, ByteBuffer buf, MessageReader
reader) {
+ @Override public boolean readFrom(Message m, MessageReader reader) {
ChildMessage msg = (ChildMessage)m;
- reader.setBuffer(buf);
-
switch (reader.state()) {
case 0:
msg.id(reader.readInt());
diff --git
a/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
b/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
index e2e331827c8..fbe5cae6a8f 100644
---
a/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
+++
b/modules/core/src/test/resources/codegen/TestCollectionsMessageSerializer.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.codegen;
-import java.nio.ByteBuffer;
import org.apache.ignite.internal.TestCollectionsMessage;
import org.apache.ignite.plugin.extensions.communication.Message;
import
org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
@@ -32,11 +31,9 @@ import
org.apache.ignite.plugin.extensions.communication.MessageWriter;
*/
public class TestCollectionsMessageSerializer implements MessageSerializer {
/** */
- @Override public boolean writeTo(Message m, ByteBuffer buf, MessageWriter
writer) {
+ @Override public boolean writeTo(Message m, MessageWriter writer) {
TestCollectionsMessage msg = (TestCollectionsMessage)m;
- writer.setBuffer(buf);
-
if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(msg.directType()))
return false;
@@ -188,11 +185,9 @@ public class TestCollectionsMessageSerializer implements
MessageSerializer {
}
/** */
- @Override public boolean readFrom(Message m, ByteBuffer buf, MessageReader
reader) {
+ @Override public boolean readFrom(Message m, MessageReader reader) {
TestCollectionsMessage msg = (TestCollectionsMessage)m;
- reader.setBuffer(buf);
-
switch (reader.state()) {
case 0:
msg.booleanArrayList(reader.readCollection(MessageCollectionItemType.BOOLEAN_ARR));
diff --git
a/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
b/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
index 34c830bae73..c128921af7a 100644
--- a/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
+++ b/modules/core/src/test/resources/codegen/TestMapMessageSerializer.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.codegen;
-import java.nio.ByteBuffer;
import org.apache.ignite.internal.TestMapMessage;
import org.apache.ignite.plugin.extensions.communication.Message;
import
org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
@@ -32,11 +31,9 @@ import
org.apache.ignite.plugin.extensions.communication.MessageWriter;
*/
public class TestMapMessageSerializer implements MessageSerializer {
/** */
- @Override public boolean writeTo(Message m, ByteBuffer buf, MessageWriter
writer) {
+ @Override public boolean writeTo(Message m, MessageWriter writer) {
TestMapMessage msg = (TestMapMessage)m;
- writer.setBuffer(buf);
-
if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(msg.directType()))
return false;
@@ -194,11 +191,9 @@ public class TestMapMessageSerializer implements
MessageSerializer {
}
/** */
- @Override public boolean readFrom(Message m, ByteBuffer buf, MessageReader
reader) {
+ @Override public boolean readFrom(Message m, MessageReader reader) {
TestMapMessage msg = (TestMapMessage)m;
- reader.setBuffer(buf);
-
switch (reader.state()) {
case 0:
msg.booleanArrayBoxedLongMap(reader.readMap(MessageCollectionItemType.BOOLEAN_ARR,
MessageCollectionItemType.LONG, false));
diff --git a/modules/core/src/test/resources/codegen/TestMessageSerializer.java
b/modules/core/src/test/resources/codegen/TestMessageSerializer.java
index a955fe2dc4f..1767ce03e1d 100644
--- a/modules/core/src/test/resources/codegen/TestMessageSerializer.java
+++ b/modules/core/src/test/resources/codegen/TestMessageSerializer.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.codegen;
-import java.nio.ByteBuffer;
import org.apache.ignite.internal.TestMessage;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.plugin.extensions.communication.Message;
@@ -33,11 +32,9 @@ import
org.apache.ignite.plugin.extensions.communication.MessageWriter;
*/
public class TestMessageSerializer implements MessageSerializer {
/** */
- @Override public boolean writeTo(Message m, ByteBuffer buf, MessageWriter
writer) {
+ @Override public boolean writeTo(Message m, MessageWriter writer) {
TestMessage msg = (TestMessage)m;
- writer.setBuffer(buf);
-
if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(msg.directType()))
return false;
@@ -141,11 +138,9 @@ public class TestMessageSerializer implements
MessageSerializer {
}
/** */
- @Override public boolean readFrom(Message m, ByteBuffer buf, MessageReader
reader) {
+ @Override public boolean readFrom(Message m, MessageReader reader) {
TestMessage msg = (TestMessage)m;
- reader.setBuffer(buf);
-
switch (reader.state()) {
case 0:
msg.id(reader.readInt());