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 51aa3a59c98 IGNITE-25996 Use MessageSerializer for CacheVersionedValue 
(#12219)
51aa3a59c98 is described below

commit 51aa3a59c98632850d6dbffbfdbcaf69c4dfbc04
Author: Ilya Shishkov <[email protected]>
AuthorDate: Thu Jul 31 15:02:46 2025 +0300

    IGNITE-25996 Use MessageSerializer for CacheVersionedValue (#12219)
---
 .../communication/GridIoMessageFactory.java        |  3 +-
 .../distributed/near/CacheVersionedValue.java      | 75 +++++-----------------
 2 files changed, 19 insertions(+), 59 deletions(-)

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 c87e15e3c85..badd562fc89 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
@@ -27,6 +27,7 @@ import org.apache.ignite.internal.GridTaskSessionRequest;
 import org.apache.ignite.internal.IgniteDiagnosticMessage;
 import org.apache.ignite.internal.binary.BinaryUtils;
 import org.apache.ignite.internal.codegen.CacheEvictionEntrySerializer;
+import org.apache.ignite.internal.codegen.CacheVersionedValueSerializer;
 import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
 import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
 import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
@@ -297,7 +298,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)99, CacheEntrySerializablePredicate::new);
         factory.register((short)100, IgniteTxEntry::new);
         factory.register((short)101, TxEntryValueHolder::new);
-        factory.register((short)102, CacheVersionedValue::new);
+        factory.register((short)102, CacheVersionedValue::new, new 
CacheVersionedValueSerializer());
         factory.register((short)103, GridCacheRawVersionedEntry::new);
         factory.register((short)104, GridCacheVersionEx::new, new 
GridCacheVersionExSerializer());
         factory.register((short)105, CacheObjectByteArrayImpl::new);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
index 1e46f22bf65..79c85d42eb2 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
@@ -17,8 +17,8 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.near;
 
-import java.nio.ByteBuffer;
 import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.CacheObjectContext;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -26,18 +26,18 @@ import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 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;
 
 /**
  * Cache object and version.
  */
 public class CacheVersionedValue implements Message {
     /** Value. */
+    @Order(value = 0, method = "value")
     @GridToStringInclude
     private CacheObject val;
 
     /** Cache version. */
+    @Order(value = 1, method = "version")
     @GridToStringInclude
     private GridCacheVersion ver;
 
@@ -62,6 +62,13 @@ public class CacheVersionedValue implements Message {
         return ver;
     }
 
+    /**
+     * @param ver New cache version.
+     */
+    public void version(GridCacheVersion ver) {
+        this.ver = ver;
+    }
+
     /**
      * @return Cache object.
      */
@@ -69,6 +76,13 @@ public class CacheVersionedValue implements Message {
         return val;
     }
 
+    /**
+     * @param val New value.
+     */
+    public void value(CacheObject val) {
+        this.val = val;
+    }
+
     /**
      * This method is called before the whole message is sent
      * and is responsible for pre-marshalling state.
@@ -99,61 +113,6 @@ public class CacheVersionedValue implements Message {
         // No-op.
     }
 
-    /** {@inheritDoc} */
-    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
-        writer.setBuffer(buf);
-
-        if (!writer.isHeaderWritten()) {
-            if (!writer.writeHeader(directType()))
-                return false;
-
-            writer.onHeaderWritten();
-        }
-
-        switch (writer.state()) {
-            case 0:
-                if (!writer.writeMessage(val))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeMessage(ver))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                val = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                ver = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return 102;

Reply via email to