Skip to content

Commit 498817d

Browse files
authored
IGNITE-26080 Use MessageSerializer for GenerateEncryptionKeyRequest (#12234)
1 parent 58e2abd commit 498817d

2 files changed

Lines changed: 19 additions & 58 deletions

File tree

modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.ignite.internal.binary.BinaryUtils;
2929
import org.apache.ignite.internal.codegen.CacheEvictionEntrySerializer;
3030
import org.apache.ignite.internal.codegen.CacheVersionedValueSerializer;
31+
import org.apache.ignite.internal.codegen.GenerateEncryptionKeyRequestSerializer;
3132
import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
3233
import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
3334
import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
@@ -341,7 +342,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
341342
factory.register((short)135, LatchAckMessage::new, new LatchAckMessageSerializer());
342343
factory.register((short)157, PartitionUpdateCountersMessage::new);
343344
factory.register((short)158, GridDhtPartitionSupplyErrorMessage::new);
344-
factory.register((short)162, GenerateEncryptionKeyRequest::new);
345+
factory.register((short)162, GenerateEncryptionKeyRequest::new, new GenerateEncryptionKeyRequestSerializer());
345346
factory.register((short)163, GenerateEncryptionKeyResponse::new);
346347
factory.register((short)167, ServiceDeploymentProcessId::new);
347348
factory.register((short)168, ServiceSingleNodeDeploymentResultBatch::new);

modules/core/src/main/java/org/apache/ignite/internal/managers/encryption/GenerateEncryptionKeyRequest.java

Lines changed: 17 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@
1717

1818
package org.apache.ignite.internal.managers.encryption;
1919

20-
import java.nio.ByteBuffer;
20+
import org.apache.ignite.internal.Order;
2121
import org.apache.ignite.internal.util.typedef.internal.S;
2222
import org.apache.ignite.lang.IgniteUuid;
2323
import org.apache.ignite.plugin.extensions.communication.Message;
24-
import org.apache.ignite.plugin.extensions.communication.MessageReader;
25-
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
2624

2725
/**
2826
* Generate encryption key request.
2927
*/
3028
public class GenerateEncryptionKeyRequest implements Message {
3129
/** Request ID. */
32-
private IgniteUuid id = IgniteUuid.randomUuid();
30+
@Order(0)
31+
private IgniteUuid id;
3332

3433
/** */
34+
@Order(value = 1, method = "keyCount")
3535
private int keyCnt;
3636

3737
/** */
@@ -43,6 +43,7 @@ public GenerateEncryptionKeyRequest() {
4343
*/
4444
public GenerateEncryptionKeyRequest(int keyCnt) {
4545
this.keyCnt = keyCnt;
46+
id = IgniteUuid.randomUuid();
4647
}
4748

4849
/**
@@ -52,66 +53,25 @@ public IgniteUuid id() {
5253
return id;
5354
}
5455

56+
/**
57+
* @param id New request ID.
58+
*/
59+
public void id(IgniteUuid id) {
60+
this.id = id;
61+
}
62+
5563
/**
5664
* @return Count of encryption key to generate.
5765
*/
5866
public int keyCount() {
5967
return keyCnt;
6068
}
6169

62-
/** {@inheritDoc} */
63-
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
64-
writer.setBuffer(buf);
65-
66-
if (!writer.isHeaderWritten()) {
67-
if (!writer.writeHeader(directType()))
68-
return false;
69-
70-
writer.onHeaderWritten();
71-
}
72-
73-
switch (writer.state()) {
74-
case 0:
75-
if (!writer.writeIgniteUuid(id))
76-
return false;
77-
78-
writer.incrementState();
79-
80-
case 1:
81-
if (!writer.writeInt(keyCnt))
82-
return false;
83-
84-
writer.incrementState();
85-
86-
}
87-
88-
return true;
89-
}
90-
91-
/** {@inheritDoc} */
92-
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
93-
reader.setBuffer(buf);
94-
95-
switch (reader.state()) {
96-
case 0:
97-
id = reader.readIgniteUuid();
98-
99-
if (!reader.isLastRead())
100-
return false;
101-
102-
reader.incrementState();
103-
104-
case 1:
105-
keyCnt = reader.readInt();
106-
107-
if (!reader.isLastRead())
108-
return false;
109-
110-
reader.incrementState();
111-
112-
}
113-
114-
return true;
70+
/**
71+
* @param keyCnt New key count.
72+
*/
73+
public void keyCount(int keyCnt) {
74+
this.keyCnt = keyCnt;
11575
}
11676

11777
/** {@inheritDoc} */

0 commit comments

Comments
 (0)