提交 81fa3b3a 编写于 作者: wu-sheng's avatar wu-sheng

修复部分序列化逻辑

上级 4038771d
......@@ -5,15 +5,11 @@ import com.ai.cloud.skywalking.serialize.SerializedFactory;
import com.ai.cloud.skywalking.util.IntegerAssist;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* Created by wusheng on 16/7/4.
*/
public abstract class AbstractDataSerializable implements ISerializable, NullableClass {
private static Set<Integer> DATA_TYPE_SCOPE = new HashSet<Integer>();
public abstract int getDataType();
public abstract byte[] getData();
......@@ -29,20 +25,20 @@ public abstract class AbstractDataSerializable implements ISerializable, Nullabl
*/
@Override
public byte[] convert2Bytes() {
byte[] messagePackage = new byte[4 + getData().length];
appendingDataText(messagePackage);
appendingDataLength(messagePackage);
byte[] messageByteData = getData();
byte[] messagePackage = new byte[4 + messageByteData.length];
packData(messageByteData, messagePackage);
setPackageLength(messagePackage);
return messagePackage;
}
private void appendingDataLength(byte[] dataByte) {
private void setPackageLength(byte[] messagePackage) {
byte[] type = IntegerAssist.intToBytes(this.getDataType());
System.arraycopy(type, 0, dataByte, 0, type.length);
System.arraycopy(type, 0, messagePackage, 0, type.length);
}
private byte[] appendingDataText(byte[] dataByte) {
System.arraycopy(getData(), 0, dataByte, 4, dataByte.length);
return dataByte;
private void packData(byte[] messageByteData, byte[] messagePackage) {
System.arraycopy(messageByteData, 0, messagePackage, 4, messageByteData.length);
}
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册