This is an automated email from the ASF dual-hosted git repository.

sergeychugunov 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 aa1f3b6f0bf IGNITE-26041 Use MessageSerializer for CacheEvictionEntry 
(#12222)
aa1f3b6f0bf is described below

commit aa1f3b6f0bf7e41c49305c9a8bd8a1c32370356c
Author: Dmitry Werner <[email protected]>
AuthorDate: Wed Jul 30 19:57:41 2025 +0500

    IGNITE-26041 Use MessageSerializer for CacheEvictionEntry (#12222)
---
 .../communication/GridIoMessageFactory.java        |  3 +-
 .../processors/cache/CacheEvictionEntry.java       | 97 ++++++----------------
 2 files changed, 27 insertions(+), 73 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 4b75909b2ac..c87e15e3c85 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
@@ -26,6 +26,7 @@ import org.apache.ignite.internal.GridTaskCancelRequest;
 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.GridCacheEntryInfoSerializer;
 import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
 import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
@@ -291,7 +292,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)94, IgniteTxKey::new);
         factory.register((short)95, DataStreamerEntry::new);
         factory.register((short)96, CacheContinuousQueryEntry::new);
-        factory.register((short)97, CacheEvictionEntry::new);
+        factory.register((short)97, CacheEvictionEntry::new, new 
CacheEvictionEntrySerializer());
         factory.register((short)98, CacheEntryPredicateContainsValue::new);
         factory.register((short)99, CacheEntrySerializablePredicate::new);
         factory.register((short)100, IgniteTxEntry::new);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
index 57957b4888f..a59de3f4ec2 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
@@ -17,27 +17,28 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import java.nio.ByteBuffer;
 import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  *
  */
 public class CacheEvictionEntry implements Message {
     /** */
+    @Order(0)
     @GridToStringInclude
     private KeyCacheObject key;
 
     /** */
+    @Order(value = 1, method = "version")
     @GridToStringInclude
     private GridCacheVersion ver;
 
     /** */
+    @Order(2)
     private boolean near;
 
     /**
@@ -65,6 +66,13 @@ public class CacheEvictionEntry implements Message {
         return key;
     }
 
+    /**
+     * @param key New key.
+     */
+    public void key(KeyCacheObject key) {
+        this.key = key;
+    }
+
     /**
      * @return Version.
      */
@@ -72,6 +80,13 @@ public class CacheEvictionEntry implements Message {
         return ver;
     }
 
+    /**
+     * @param ver New version.
+     */
+    public void version(GridCacheVersion ver) {
+        this.ver = ver;
+    }
+
     /**
      * @return {@code True} if key should be evicted from near cache.
      */
@@ -79,6 +94,13 @@ public class CacheEvictionEntry implements Message {
         return near;
     }
 
+    /**
+     * @param near {@code True} if key should be evicted from near cache.
+     */
+    public void near(boolean near) {
+        this.near = near;
+    }
+
     /** {@inheritDoc} */
     @Override public short directType() {
         return 97;
@@ -105,73 +127,4 @@ public class CacheEvictionEntry implements Message {
     @Override public void onAckReceived() {
         // 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(key))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeBoolean(near))
-                    return false;
-
-                writer.incrementState();
-
-            case 2:
-                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:
-                key = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                near = reader.readBoolean();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 2:
-                ver = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
 }

Reply via email to