Skip to content

Commit 9cd5a55

Browse files
authored
IGNITE-27869 Use MessageSerializer for GenerateEncryptionKeyResponse (#12748)
1 parent 8dcd921 commit 9cd5a55

File tree

2 files changed

+25
-72
lines changed

2 files changed

+25
-72
lines changed

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
@@ -51,6 +51,7 @@
5151
import org.apache.ignite.internal.codegen.ErrorMessageSerializer;
5252
import org.apache.ignite.internal.codegen.ExchangeInfoSerializer;
5353
import org.apache.ignite.internal.codegen.GenerateEncryptionKeyRequestSerializer;
54+
import org.apache.ignite.internal.codegen.GenerateEncryptionKeyResponseSerializer;
5455
import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
5556
import org.apache.ignite.internal.codegen.GridCacheQueryRequestSerializer;
5657
import org.apache.ignite.internal.codegen.GridCacheQueryResponseSerializer;
@@ -473,7 +474,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
473474
factory.register(NodeFullMetricsMessage.TYPE_CODE, NodeFullMetricsMessage::new, new NodeFullMetricsMessageSerializer());
474475
factory.register((short)157, PartitionUpdateCountersMessage::new, new PartitionUpdateCountersMessageSerializer());
475476
factory.register((short)162, GenerateEncryptionKeyRequest::new, new GenerateEncryptionKeyRequestSerializer());
476-
factory.register((short)163, GenerateEncryptionKeyResponse::new);
477+
factory.register((short)163, GenerateEncryptionKeyResponse::new, new GenerateEncryptionKeyResponseSerializer());
477478
factory.register((short)167, ServiceDeploymentProcessId::new, new ServiceDeploymentProcessIdSerializer());
478479
factory.register((short)168, ServiceSingleNodeDeploymentResultBatch::new, new ServiceSingleNodeDeploymentResultBatchSerializer());
479480
factory.register((short)169, ServiceSingleNodeDeploymentResult::new);

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

Lines changed: 23 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,26 @@
1717

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

20-
import java.nio.ByteBuffer;
2120
import java.util.Collection;
22-
import org.apache.ignite.internal.GridDirectCollection;
21+
import org.apache.ignite.internal.Order;
2322
import org.apache.ignite.internal.util.typedef.internal.S;
2423
import org.apache.ignite.lang.IgniteUuid;
2524
import org.apache.ignite.plugin.extensions.communication.Message;
26-
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
27-
import org.apache.ignite.plugin.extensions.communication.MessageReader;
28-
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
2925

3026
/**
3127
* Generate encryption key response.
3228
*/
3329
public class GenerateEncryptionKeyResponse implements Message {
3430
/** Request message ID. */
31+
@Order(value = 0, method = "requestId")
3532
private IgniteUuid id;
3633

3734
/** */
38-
@GridDirectCollection(byte[].class)
35+
@Order(value = 1, method = "encryptionKeys")
3936
private Collection<byte[]> encKeys;
4037

4138
/** Master key digest that encrypted group encryption keys. */
39+
@Order(2)
4240
private byte[] masterKeyDigest;
4341

4442
/** */
@@ -63,83 +61,37 @@ public IgniteUuid requestId() {
6361
return id;
6462
}
6563

64+
/**
65+
* @param id Request id.
66+
*/
67+
public void requestId(IgniteUuid id) {
68+
this.id = id;
69+
}
70+
6671
/**
6772
* @return Encryption keys.
6873
*/
6974
public Collection<byte[]> encryptionKeys() {
7075
return encKeys;
7176
}
7277

78+
/**
79+
* @param encKeys Encryption keys.
80+
*/
81+
public void encryptionKeys(Collection<byte[]> encKeys) {
82+
this.encKeys = encKeys;
83+
}
84+
7385
/** @return Master key digest that encrypted group encryption keys. */
7486
public byte[] masterKeyDigest() {
7587
return masterKeyDigest;
7688
}
7789

78-
/** {@inheritDoc} */
79-
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
80-
writer.setBuffer(buf);
81-
82-
if (!writer.isHeaderWritten()) {
83-
if (!writer.writeHeader(directType()))
84-
return false;
85-
86-
writer.onHeaderWritten();
87-
}
88-
89-
switch (writer.state()) {
90-
case 0:
91-
if (!writer.writeCollection(encKeys, MessageCollectionItemType.BYTE_ARR))
92-
return false;
93-
94-
writer.incrementState();
95-
96-
case 1:
97-
if (!writer.writeIgniteUuid(id))
98-
return false;
99-
100-
writer.incrementState();
101-
102-
case 2:
103-
if (!writer.writeByteArray(masterKeyDigest))
104-
return false;
105-
106-
writer.incrementState();
107-
}
108-
109-
return true;
110-
}
111-
112-
/** {@inheritDoc} */
113-
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
114-
reader.setBuffer(buf);
115-
116-
switch (reader.state()) {
117-
case 0:
118-
encKeys = reader.readCollection(MessageCollectionItemType.BYTE_ARR);
119-
120-
if (!reader.isLastRead())
121-
return false;
122-
123-
reader.incrementState();
124-
125-
case 1:
126-
id = reader.readIgniteUuid();
127-
128-
if (!reader.isLastRead())
129-
return false;
130-
131-
reader.incrementState();
132-
133-
case 2:
134-
masterKeyDigest = reader.readByteArray();
135-
136-
if (!reader.isLastRead())
137-
return false;
138-
139-
reader.incrementState();
140-
}
141-
142-
return true;
90+
/**
91+
* @param masterKeyDigest Master key digest that encrypted group encryption keys.
92+
*/
93+
public void masterKeyDigest(byte[] masterKeyDigest) {
94+
this.masterKeyDigest = masterKeyDigest;
14395
}
14496

14597
/** {@inheritDoc} */

0 commit comments

Comments
 (0)