|
17 | 17 |
|
18 | 18 | package org.apache.ignite.internal.managers.communication; |
19 | 19 |
|
20 | | -import java.nio.ByteBuffer; |
21 | 20 | import java.util.Collections; |
22 | 21 | import java.util.Map; |
23 | 22 | import java.util.UUID; |
24 | 23 | import org.apache.ignite.configuration.DeploymentMode; |
25 | | -import org.apache.ignite.internal.GridDirectMap; |
26 | | -import org.apache.ignite.internal.GridDirectTransient; |
| 24 | +import org.apache.ignite.internal.Order; |
27 | 25 | import org.apache.ignite.internal.managers.deployment.GridDeployment; |
28 | 26 | import org.apache.ignite.internal.util.tostring.GridToStringInclude; |
29 | 27 | import org.apache.ignite.internal.util.typedef.internal.S; |
30 | 28 | import org.apache.ignite.lang.IgniteUuid; |
31 | 29 | import org.apache.ignite.plugin.extensions.communication.Message; |
32 | | -import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType; |
33 | | -import org.apache.ignite.plugin.extensions.communication.MessageReader; |
34 | | -import org.apache.ignite.plugin.extensions.communication.MessageWriter; |
35 | 30 | import org.jetbrains.annotations.Nullable; |
36 | 31 |
|
37 | 32 | /** |
38 | 33 | * User message wrapper. |
39 | 34 | */ |
40 | 35 | public class GridIoUserMessage implements Message { |
41 | 36 | /** Message body. */ |
42 | | - @GridDirectTransient |
43 | 37 | private Object body; |
44 | 38 |
|
45 | 39 | /** Serialized message body. */ |
46 | | - private byte[] bodyBytes; |
| 40 | + @Order(0) |
| 41 | + byte[] bodyBytes; |
47 | 42 |
|
48 | 43 | /** Class loader ID. */ |
49 | | - private IgniteUuid clsLdrId; |
| 44 | + @Order(1) |
| 45 | + IgniteUuid clsLdrId; |
50 | 46 |
|
51 | 47 | /** Message topic. */ |
52 | | - @GridDirectTransient |
53 | 48 | private Object topic; |
54 | 49 |
|
55 | 50 | /** Serialized message topic. */ |
56 | | - private byte[] topicBytes; |
| 51 | + @Order(2) |
| 52 | + byte[] topicBytes; |
57 | 53 |
|
58 | 54 | /** Deployment mode. */ |
59 | | - private DeploymentMode depMode; |
| 55 | + @Order(3) |
| 56 | + DeploymentMode depMode; |
60 | 57 |
|
61 | 58 | /** Deployment class name. */ |
62 | | - private String depClsName; |
| 59 | + @Order(4) |
| 60 | + String depClsName; |
63 | 61 |
|
64 | 62 | /** User version. */ |
65 | | - private String userVer; |
| 63 | + @Order(5) |
| 64 | + String userVer; |
66 | 65 |
|
67 | 66 | /** Node class loader participants. */ |
| 67 | + @Order(6) |
68 | 68 | @GridToStringInclude |
69 | | - @GridDirectMap(keyType = UUID.class, valueType = IgniteUuid.class) |
70 | | - private Map<UUID, IgniteUuid> ldrParties; |
| 69 | + Map<UUID, IgniteUuid> ldrParties; |
71 | 70 |
|
72 | 71 | /** Message deployment. */ |
73 | | - @GridDirectTransient |
74 | 72 | private GridDeployment dep; |
75 | 73 |
|
76 | 74 | /** |
@@ -203,135 +201,6 @@ public void deployment(GridDeployment dep) { |
203 | 201 | return dep; |
204 | 202 | } |
205 | 203 |
|
206 | | - /** {@inheritDoc} */ |
207 | | - @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) { |
208 | | - writer.setBuffer(buf); |
209 | | - |
210 | | - if (!writer.isHeaderWritten()) { |
211 | | - if (!writer.writeHeader(directType())) |
212 | | - return false; |
213 | | - |
214 | | - writer.onHeaderWritten(); |
215 | | - } |
216 | | - |
217 | | - switch (writer.state()) { |
218 | | - case 0: |
219 | | - if (!writer.writeByteArray(bodyBytes)) |
220 | | - return false; |
221 | | - |
222 | | - writer.incrementState(); |
223 | | - |
224 | | - case 1: |
225 | | - if (!writer.writeIgniteUuid(clsLdrId)) |
226 | | - return false; |
227 | | - |
228 | | - writer.incrementState(); |
229 | | - |
230 | | - case 2: |
231 | | - if (!writer.writeString(depClsName)) |
232 | | - return false; |
233 | | - |
234 | | - writer.incrementState(); |
235 | | - |
236 | | - case 3: |
237 | | - if (!writer.writeByte(depMode != null ? (byte)depMode.ordinal() : -1)) |
238 | | - return false; |
239 | | - |
240 | | - writer.incrementState(); |
241 | | - |
242 | | - case 4: |
243 | | - if (!writer.writeMap(ldrParties, MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID)) |
244 | | - return false; |
245 | | - |
246 | | - writer.incrementState(); |
247 | | - |
248 | | - case 5: |
249 | | - if (!writer.writeByteArray(topicBytes)) |
250 | | - return false; |
251 | | - |
252 | | - writer.incrementState(); |
253 | | - |
254 | | - case 6: |
255 | | - if (!writer.writeString(userVer)) |
256 | | - return false; |
257 | | - |
258 | | - writer.incrementState(); |
259 | | - |
260 | | - } |
261 | | - |
262 | | - return true; |
263 | | - } |
264 | | - |
265 | | - /** {@inheritDoc} */ |
266 | | - @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) { |
267 | | - reader.setBuffer(buf); |
268 | | - |
269 | | - switch (reader.state()) { |
270 | | - case 0: |
271 | | - bodyBytes = reader.readByteArray(); |
272 | | - |
273 | | - if (!reader.isLastRead()) |
274 | | - return false; |
275 | | - |
276 | | - reader.incrementState(); |
277 | | - |
278 | | - case 1: |
279 | | - clsLdrId = reader.readIgniteUuid(); |
280 | | - |
281 | | - if (!reader.isLastRead()) |
282 | | - return false; |
283 | | - |
284 | | - reader.incrementState(); |
285 | | - |
286 | | - case 2: |
287 | | - depClsName = reader.readString(); |
288 | | - |
289 | | - if (!reader.isLastRead()) |
290 | | - return false; |
291 | | - |
292 | | - reader.incrementState(); |
293 | | - |
294 | | - case 3: |
295 | | - byte depModeOrd; |
296 | | - |
297 | | - depModeOrd = reader.readByte(); |
298 | | - |
299 | | - if (!reader.isLastRead()) |
300 | | - return false; |
301 | | - |
302 | | - depMode = DeploymentMode.fromOrdinal(depModeOrd); |
303 | | - |
304 | | - reader.incrementState(); |
305 | | - |
306 | | - case 4: |
307 | | - ldrParties = reader.readMap(MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID, false); |
308 | | - |
309 | | - if (!reader.isLastRead()) |
310 | | - return false; |
311 | | - |
312 | | - reader.incrementState(); |
313 | | - |
314 | | - case 5: |
315 | | - topicBytes = reader.readByteArray(); |
316 | | - |
317 | | - if (!reader.isLastRead()) |
318 | | - return false; |
319 | | - |
320 | | - reader.incrementState(); |
321 | | - |
322 | | - case 6: |
323 | | - userVer = reader.readString(); |
324 | | - |
325 | | - if (!reader.isLastRead()) |
326 | | - return false; |
327 | | - |
328 | | - reader.incrementState(); |
329 | | - |
330 | | - } |
331 | | - |
332 | | - return true; |
333 | | - } |
334 | | - |
335 | 204 | /** {@inheritDoc} */ |
336 | 205 | @Override public short directType() { |
337 | 206 | return 9; |
|
0 commit comments