mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-05-18 19:26:42 +00:00
perf[protocol]: ruby code style
This commit is contained in:
@@ -27,8 +27,7 @@ import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static com.zfoo.protocol.util.StringUtils.TAB;
|
||||
import static com.zfoo.protocol.util.StringUtils.TAB_ASCII;
|
||||
import static com.zfoo.protocol.util.StringUtils.*;
|
||||
|
||||
/**
|
||||
* @author godotg
|
||||
@@ -48,6 +47,11 @@ public abstract class GenerateProtocolFile {
|
||||
return builder;
|
||||
}
|
||||
|
||||
public static StringBuilder addTabWith2Space(StringBuilder builder, int deep) {
|
||||
builder.append(SPACE.repeat(Math.max(0, deep * 2)));
|
||||
return builder;
|
||||
}
|
||||
|
||||
public static StringBuilder addTabAscii(StringBuilder builder, int deep) {
|
||||
builder.append(TAB_ASCII.repeat(Math.max(0, deep)));
|
||||
return builder;
|
||||
|
||||
@@ -38,7 +38,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zfoo.protocol.util.FileUtils.LS;
|
||||
import static com.zfoo.protocol.util.StringUtils.TAB;
|
||||
|
||||
/**
|
||||
* @author godotg
|
||||
@@ -303,7 +302,8 @@ public class CodeGenerateRuby implements ICodeGenerate {
|
||||
if (field.isAnnotationPresent(Compatible.class)) {
|
||||
rbBuilder.append("if buffer.compatibleRead(beforeReadIndex, length)").append(LS);
|
||||
var compatibleReadObject = rbSerializer(fieldRegistration.serializer()).readObject(rbBuilder, 1, field, fieldRegistration);
|
||||
rbBuilder.append(TAB).append(StringUtils.format("packet.{} = {}", field.getName(), compatibleReadObject)).append(LS);
|
||||
GenerateProtocolFile.addTabWith2Space(rbBuilder, 1);
|
||||
rbBuilder.append(StringUtils.format("packet.{} = {}", field.getName(), compatibleReadObject)).append(LS);
|
||||
rbBuilder.append("end").append(LS);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class RubyArraySerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
if (CutDownArraySerializer.getInstance().writeObject(builder, objectStr, field, fieldRegistration, CodeLanguage.Ruby)) {
|
||||
return;
|
||||
}
|
||||
@@ -43,29 +43,29 @@ public class RubyArraySerializer implements IRubySerializer {
|
||||
ArrayField arrayField = (ArrayField) fieldRegistration;
|
||||
|
||||
builder.append(StringUtils.format("if {}.nil? || {}.empty?", objectStr, objectStr)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("buffer.writeInt(0)").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
|
||||
builder.append("else").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("buffer.writeInt({}.length)", objectStr)).append(LS);
|
||||
|
||||
String element = "element" + GenerateProtocolFile.localVariableId++;
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in {}", element, objectStr)).append(LS);
|
||||
CodeGenerateRuby.rbSerializer(arrayField.getArrayElementRegistration().serializer())
|
||||
.writeObject(builder, element, deep + 2, field, arrayField.getArrayElementRegistration());
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
var cutDown = CutDownArraySerializer.getInstance().readObject(builder, field, fieldRegistration, CodeLanguage.Ruby);
|
||||
if (cutDown != null) {
|
||||
return cutDown;
|
||||
@@ -79,21 +79,21 @@ public class RubyArraySerializer implements IRubySerializer {
|
||||
String i = "index" + GenerateProtocolFile.localVariableId++;
|
||||
String size = "size" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readInt()", size)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("if {} > 0", size)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in 0..{} - 1", i, size)).append(LS);
|
||||
String readObject = CodeGenerateRuby.rbSerializer(arrayField.getArrayElementRegistration().serializer())
|
||||
.readObject(builder, deep + 2, field, arrayField.getArrayElementRegistration());
|
||||
GenerateProtocolFile.addTab(builder, deep + 2);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 2);
|
||||
builder.append(StringUtils.format("{}.push({})", result, readObject)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyBoolSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeBool({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyBoolSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readBool() ", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyByteSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeByte({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyByteSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readByte()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyDoubleSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeDouble({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyDoubleSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readDouble()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyFloatSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeFloat({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyFloatSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readFloat()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyIntSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeInt({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyIntSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readInt()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class RubyListSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
if (CutDownListSerializer.getInstance().writeObject(builder, objectStr, field, fieldRegistration, CodeLanguage.Ruby)) {
|
||||
return;
|
||||
}
|
||||
@@ -43,29 +43,29 @@ public class RubyListSerializer implements IRubySerializer {
|
||||
ListField listField = (ListField) fieldRegistration;
|
||||
|
||||
builder.append(StringUtils.format("if {}.nil? || {}.empty?", objectStr, objectStr)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("buffer.writeInt(0)").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
|
||||
builder.append("else").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("buffer.writeInt({}.length)", objectStr)).append(LS);
|
||||
|
||||
String element = "element" + GenerateProtocolFile.localVariableId++;
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in {}", element, objectStr)).append(LS);
|
||||
CodeGenerateRuby.rbSerializer(listField.getListElementRegistration().serializer())
|
||||
.writeObject(builder, element, deep + 2, field, listField.getListElementRegistration());
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
var cutDown = CutDownListSerializer.getInstance().readObject(builder, field, fieldRegistration, CodeLanguage.Ruby);
|
||||
if (cutDown != null) {
|
||||
return cutDown;
|
||||
@@ -79,21 +79,21 @@ public class RubyListSerializer implements IRubySerializer {
|
||||
String i = "index" + GenerateProtocolFile.localVariableId++;
|
||||
String size = "size" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readInt()", size)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("if {} > 0", size)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in 0..{} - 1", i, size)).append(LS);
|
||||
String readObject = CodeGenerateRuby.rbSerializer(listField.getListElementRegistration().serializer())
|
||||
.readObject(builder, deep + 2, field, listField.getListElementRegistration());
|
||||
GenerateProtocolFile.addTab(builder, deep + 2);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 2);
|
||||
builder.append(StringUtils.format("{}.push({})", result, readObject)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyLongSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeLong({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyLongSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readLong()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -35,41 +35,41 @@ public class RubyMapSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
if (CutDownMapSerializer.getInstance().writeObject(builder, objectStr, field, fieldRegistration, CodeLanguage.Ruby)) {
|
||||
return;
|
||||
}
|
||||
|
||||
MapField mapField = (MapField) fieldRegistration;
|
||||
builder.append(StringUtils.format("if {}.nil? || {}.empty?", objectStr, objectStr)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("buffer.writeInt(0)").append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("else").append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("buffer.writeInt({}.length)", objectStr)).append(LS);
|
||||
|
||||
String key = "key" + GenerateProtocolFile.localVariableId++;
|
||||
String value = "value" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("{}.each do |{}, {}|", objectStr, key, value)).append(LS);
|
||||
CodeGenerateRuby.rbSerializer(mapField.getMapKeyRegistration().serializer())
|
||||
.writeObject(builder, key, deep + 2, field, mapField.getMapKeyRegistration());
|
||||
CodeGenerateRuby.rbSerializer(mapField.getMapValueRegistration().serializer())
|
||||
.writeObject(builder, value, deep + 2, field, mapField.getMapValueRegistration());
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
var cutDown = CutDownMapSerializer.getInstance().readObject(builder, field, fieldRegistration, CodeLanguage.Ruby);
|
||||
if (cutDown != null) {
|
||||
return cutDown;
|
||||
@@ -80,15 +80,15 @@ public class RubyMapSerializer implements IRubySerializer {
|
||||
|
||||
builder.append(StringUtils.format("{} = Hash.new()", result)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
String size = "size" + GenerateProtocolFile.localVariableId++;
|
||||
builder.append(StringUtils.format("{} = buffer.readInt()", size)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("if {} > 0", size)).append(LS);
|
||||
|
||||
String i = "index" + GenerateProtocolFile.localVariableId++;
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in 0..{} - 1", i, size)).append(LS);
|
||||
|
||||
String keyObject = CodeGenerateRuby.rbSerializer(mapField.getMapKeyRegistration().serializer())
|
||||
@@ -97,13 +97,13 @@ public class RubyMapSerializer implements IRubySerializer {
|
||||
|
||||
String valueObject = CodeGenerateRuby.rbSerializer(mapField.getMapValueRegistration().serializer())
|
||||
.readObject(builder, deep + 2, field, mapField.getMapValueRegistration());
|
||||
GenerateProtocolFile.addTab(builder, deep + 2);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 2);
|
||||
|
||||
builder.append(StringUtils.format("{}[{}] = {}", result, keyObject, valueObject)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
+2
-2
@@ -34,7 +34,7 @@ public class RubyObjectProtocolSerializer implements IRubySerializer {
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writePacket({}, {})", objectStr, objectProtocolField.getProtocolId())).append(LS);
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class RubyObjectProtocolSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
|
||||
var result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readPacket({})", result, objectProtocolField.getProtocolId())).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class RubySetSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
if (CutDownSetSerializer.getInstance().writeObject(builder, objectStr, field, fieldRegistration, CodeLanguage.Ruby)) {
|
||||
return;
|
||||
}
|
||||
@@ -43,29 +43,29 @@ public class RubySetSerializer implements IRubySerializer {
|
||||
SetField setField = (SetField) fieldRegistration;
|
||||
|
||||
builder.append(StringUtils.format("if {}.nil? || {}.empty?", objectStr, objectStr)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("buffer.writeInt(0)").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
|
||||
builder.append("else").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("buffer.writeInt({}.length)", objectStr)).append(LS);
|
||||
|
||||
String element = "element" + GenerateProtocolFile.localVariableId++;
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in {}", element, objectStr)).append(LS);
|
||||
CodeGenerateRuby.rbSerializer(setField.getSetElementRegistration().serializer())
|
||||
.writeObject(builder, element, deep + 2, field, setField.getSetElementRegistration());
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
var cutDown = CutDownSetSerializer.getInstance().readObject(builder, field, fieldRegistration, CodeLanguage.Ruby);
|
||||
if (cutDown != null) {
|
||||
return cutDown;
|
||||
@@ -79,21 +79,21 @@ public class RubySetSerializer implements IRubySerializer {
|
||||
String i = "index" + GenerateProtocolFile.localVariableId++;
|
||||
String size = "size" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readInt()", size)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("if {} > 0", size)).append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append(StringUtils.format("for {} in 0..{} - 1", i, size)).append(LS);
|
||||
String readObject = CodeGenerateRuby.rbSerializer(setField.getSetElementRegistration().serializer())
|
||||
.readObject(builder, deep + 2, field, setField.getSetElementRegistration());
|
||||
GenerateProtocolFile.addTab(builder, deep + 2);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 2);
|
||||
builder.append(StringUtils.format("{}.add({})", result, readObject)).append(LS);
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep + 1);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep + 1);
|
||||
builder.append("end").append(LS);
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append("end").append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RubyShortSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeShort({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RubyShortSerializer implements IRubySerializer {
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readShort()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,14 +32,14 @@ public class RubyStringSerializer implements IRubySerializer {
|
||||
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("buffer.writeString({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
GenerateProtocolFile.addTabWith2Space(builder, deep);
|
||||
builder.append(StringUtils.format("{} = buffer.readString()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
${protocol_note}
|
||||
class ${protocol_name}
|
||||
${protocol_field_accessor}
|
||||
def initialize()
|
||||
${protocol_field_definition}
|
||||
end
|
||||
${protocol_field_accessor}
|
||||
def initialize()
|
||||
${protocol_field_definition}
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,28 +2,28 @@ ${protocol_imports}
|
||||
|
||||
|
||||
class ProtocolManager
|
||||
@@protocols = Array.new(32767)
|
||||
@@protocolIdMap = Hash.new()
|
||||
@@protocols = Array.new(32767)
|
||||
@@protocolIdMap = Hash.new()
|
||||
|
||||
def self.initProtocol()
|
||||
${protocol_manager_registrations}
|
||||
end
|
||||
def self.initProtocol()
|
||||
${protocol_manager_registrations}
|
||||
end
|
||||
|
||||
def self.getProtocol(protocolId)
|
||||
return @@protocols[protocolId]
|
||||
end
|
||||
def self.getProtocol(protocolId)
|
||||
return @@protocols[protocolId]
|
||||
end
|
||||
|
||||
def self.write(buffer, packet)
|
||||
protocolId = @@protocolIdMap[packet.class]
|
||||
buffer.writeShort(protocolId)
|
||||
protocol = @@protocols[protocolId]
|
||||
protocol.write(buffer, packet)
|
||||
end
|
||||
def self.write(buffer, packet)
|
||||
protocolId = @@protocolIdMap[packet.class]
|
||||
buffer.writeShort(protocolId)
|
||||
protocol = @@protocols[protocolId]
|
||||
protocol.write(buffer, packet)
|
||||
end
|
||||
|
||||
def self.read(buffer)
|
||||
protocolId = buffer.readShort()
|
||||
protocol = @@protocols[protocolId]
|
||||
packet = protocol.read(buffer)
|
||||
return packet
|
||||
end
|
||||
def self.read(buffer)
|
||||
protocolId = buffer.readShort()
|
||||
protocol = @@protocols[protocolId]
|
||||
packet = protocol.read(buffer)
|
||||
return packet
|
||||
end
|
||||
end
|
||||
@@ -1,27 +1,27 @@
|
||||
class ${protocol_name}Registration
|
||||
def protocolId()
|
||||
return ${protocol_id}
|
||||
end
|
||||
def protocolId()
|
||||
return ${protocol_id}
|
||||
end
|
||||
|
||||
def write(buffer, packet)
|
||||
if packet.nil?
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
end
|
||||
${protocol_write_serialization}
|
||||
def write(buffer, packet)
|
||||
if packet.nil?
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
end
|
||||
${protocol_write_serialization}
|
||||
end
|
||||
|
||||
def read(buffer)
|
||||
length = buffer.readInt()
|
||||
if length == 0
|
||||
return nil
|
||||
end
|
||||
beforeReadIndex = buffer.getReadOffset()
|
||||
packet = ${protocol_name}.new()
|
||||
${protocol_read_deserialization}
|
||||
if length > 0
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
end
|
||||
return packet
|
||||
def read(buffer)
|
||||
length = buffer.readInt()
|
||||
if length == 0
|
||||
return nil
|
||||
end
|
||||
beforeReadIndex = buffer.getReadOffset()
|
||||
packet = ${protocol_name}.new()
|
||||
${protocol_read_deserialization}
|
||||
if length > 0
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
end
|
||||
return packet
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user