Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
factory.register((short)6, GridTaskSessionRequest::new, new GridTaskSessionRequestSerializer());
factory.register((short)7, GridCheckpointRequest::new, new GridCheckpointRequestSerializer());
factory.register((short)8, GridIoMessage::new, new GridIoMessageSerializer());
factory.register((short)9, GridIoUserMessage::new);
factory.register((short)9, GridIoUserMessage::new, new GridIoUserMessageSerializer());
factory.register((short)10, GridDeploymentInfoBean::new);
factory.register((short)11, GridDeploymentRequest::new, new GridDeploymentRequestSerializer());
factory.register((short)12, GridDeploymentResponse::new, new GridDeploymentResponseSerializer());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,60 +17,58 @@

package org.apache.ignite.internal.managers.communication;

import java.nio.ByteBuffer;
import java.util.Collections;
import java.util.Map;
import java.util.UUID;
import org.apache.ignite.configuration.DeploymentMode;
import org.apache.ignite.internal.GridDirectMap;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.managers.deployment.GridDeployment;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.jetbrains.annotations.Nullable;

/**
* User message wrapper.
*/
public class GridIoUserMessage implements Message {
/** Message body. */
@GridDirectTransient
private Object body;

/** Serialized message body. */
private byte[] bodyBytes;
@Order(0)
byte[] bodyBytes;

/** Class loader ID. */
private IgniteUuid clsLdrId;
@Order(1)
IgniteUuid clsLdrId;

/** Message topic. */
@GridDirectTransient
private Object topic;

/** Serialized message topic. */
private byte[] topicBytes;
@Order(2)
byte[] topicBytes;

/** Deployment mode. */
private DeploymentMode depMode;
@Order(3)
DeploymentMode depMode;

/** Deployment class name. */
private String depClsName;
@Order(4)
String depClsName;

/** User version. */
private String userVer;
@Order(5)
String userVer;

/** Node class loader participants. */
@Order(6)
@GridToStringInclude
@GridDirectMap(keyType = UUID.class, valueType = IgniteUuid.class)
private Map<UUID, IgniteUuid> ldrParties;
Map<UUID, IgniteUuid> ldrParties;

/** Message deployment. */
@GridDirectTransient
private GridDeployment dep;

/**
Expand Down Expand Up @@ -203,135 +201,6 @@ public void deployment(GridDeployment dep) {
return dep;
}

/** {@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.writeByteArray(bodyBytes))
return false;

writer.incrementState();

case 1:
if (!writer.writeIgniteUuid(clsLdrId))
return false;

writer.incrementState();

case 2:
if (!writer.writeString(depClsName))
return false;

writer.incrementState();

case 3:
if (!writer.writeByte(depMode != null ? (byte)depMode.ordinal() : -1))
return false;

writer.incrementState();

case 4:
if (!writer.writeMap(ldrParties, MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID))
return false;

writer.incrementState();

case 5:
if (!writer.writeByteArray(topicBytes))
return false;

writer.incrementState();

case 6:
if (!writer.writeString(userVer))
return false;

writer.incrementState();

}

return true;
}

/** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
reader.setBuffer(buf);

switch (reader.state()) {
case 0:
bodyBytes = reader.readByteArray();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 1:
clsLdrId = reader.readIgniteUuid();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 2:
depClsName = reader.readString();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 3:
byte depModeOrd;

depModeOrd = reader.readByte();

if (!reader.isLastRead())
return false;

depMode = DeploymentMode.fromOrdinal(depModeOrd);

reader.incrementState();

case 4:
ldrParties = reader.readMap(MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID, false);

if (!reader.isLastRead())
return false;

reader.incrementState();

case 5:
topicBytes = reader.readByteArray();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 6:
userVer = reader.readString();

if (!reader.isLastRead())
return false;

reader.incrementState();

}

return true;
}

/** {@inheritDoc} */
@Override public short directType() {
return 9;
Expand Down
Loading